using System; using System.Net.Http; using System.Text; using System.Threading.Tasks; using ZXing.QrCode.Internal; namespace Jugenddienst_Stunden.Models { class Auth { public Hours hours; public static async Task GetApiDataWithAuthAsync(string url, string token) { try { // Erstellen eines HttpClient-Objekts using (HttpClient client = new HttpClient() { Timeout = TimeSpan.FromSeconds(5) }) { try { client.DefaultRequestHeaders.Add("Accept", "application/json"); // Hinzufügen des Bearer-Tokens zum Authorization-Header client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token); //Beim Debugging im Lokalen Netz mit meinem Smartphone kommt es hier zu //system.net.webexception nachricht = socket closed //Grund: Falscher DNS-Server liefert falsche Server-IP using (HttpResponseMessage HttpResponseMessage = await client.GetAsync(url).ConfigureAwait(false)) { if (HttpResponseMessage.StatusCode == System.Net.HttpStatusCode.OK) { using (HttpContent HttpContent = HttpResponseMessage.Content) { string responseData = await HttpContent.ReadAsStringAsync(); return responseData; } } } // Senden der Anfrage und Abrufen der Antwort //HttpResponseMessage response = await client.GetAsync(url); // Überprüfen, ob die Anfrage erfolgreich war //response.EnsureSuccessStatusCode(); // Lesen und Rückgabe der Antwort als String //string responseData = await response.Content.ReadAsStringAsync(); //return responseData; } catch (HttpRequestException e) { // Fehlerbehandlung Console.WriteLine($"An error occurred: {e.Message}"); return null; } } } catch (Exception e) { Console.WriteLine(e.Message); return null; } return null; } public static async Task Main(string[] args) { string apiUrl = args[0]; // Ersetzen Sie dies durch die tatsächliche URL der API string bearerToken = args[1]; // Ersetzen Sie hier durch Ihr tatsächliches Token string data = await GetApiDataWithAuthAsync(apiUrl, bearerToken); if (data != null) { //Console.WriteLine("API-Daten:"); //Console.WriteLine(data); //JOperator operator = Newtonsoft.Json.JsonConvert.DeserializeObject(data); //var zeug = Newtonsoft.Json.JsonConvert.DeserializeObject(data); Hours hours = Newtonsoft.Json.JsonConvert.DeserializeObject(data); } } } }