C# HTTPrequest – как получить весь запрос и весь ответ ⇐ C#
C# HTTPrequest – как получить весь запрос и весь ответ
У меня есть небольшая консольная программа, которая использует restAPI. Мне трудно увидеть, что именно я отправляю (ВЕСЬ запрос) и что именно я получаю в ответ (ВЕСЬ ответ). Я пробовал много Console.WriteLine с различными аргументами, но, похоже, мне не удалось получить конкретные результаты (ВЕСЬ запрос и ВЕСЬ ответ).
Не могли бы вы мне помочь, пожалуйста? Весь код ниже:
с использованием системы; используя System.Net.Http; использование System.Net.Http.Headers; использование System.Threading.Tasks; использование Newtonsoft.Json; пространство имен TEST_API { публичный частичный класс ConsentHeaders { [JsonProperty("CL-ID")] общественная строка CL_ID {получить; набор; } [JsonProperty("X-ID")] общественная строка X_ID {получить; набор; } [JsonProperty("P-токен")] общественная строка P_Token {получить; набор; } } публичный доступ к частичному классу { [JsonProperty("aP2")] общественная строка aP2 {получить; набор; } = "все учетные записи"; [JsonProperty("aAcc")] общественная строка aAcc {получить; набор; } = "все учетные записи"; } публичный частичный класс ConsentBody { [JsonProperty("доступ")] доступ к публичному доступу { get; внутренний набор; } [JsonProperty("combinedServiceIndicator")] общественный логический комбинированныйServiceIndicator {get; набор; } = ложь; [JsonProperty("частотаПерДень")] общественный ИНТ FrequencyPerDay {получить; набор; } = 4; [JsonProperty("recurringIndicator")] общественный логический recurringIndicator {get; набор; } = ложь; [JsonProperty("validUntil")] общедоступная строка validUntil {get; набор; } = "31 декабря 2019 г."; } классная программа { частная статическая пустота Main() { ConsentHeaders cust_consent_headers = новые ConsentHeaders { X_ID = "d587612Xq99", CL_ID = "8010aFQ9127", P_Token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ", }; ConsentBody cust_consent = новый ConsentBody //{ }; // Вы можете редактировать/обновлять любое значение, в противном случае будут использоваться значения по умолчанию. { доступ = новый доступ { aP2 = "все учетные записи", aAcc = "все учетные записи" }, комбинированныйServiceIndicator = ложь, частотаПерДень = 4, повторяющийсяИндикатор = ложь, validUntil = "2019-12-31" }; URL-адрес System.Uri = new System.Uri("http://MyService:8001/some/api/do/something"); CreateConsentAsync(URL, cust_consent_headers, cust_consent).GetAwaiter().GetResult(); } статический клиент HttpClient = новый HttpClient(); статическая асинхронная задача CreateConsentAsync (Uri HTTPaddress, ConsentHeaders cconsentHeaders, ConsentBody cconsent) { пытаться { client.BaseAddress = HTTP-адрес; client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*")); client.DefaultRequestHeaders.Add("Соединение", "keep-alive"); client.DefaultRequestHeaders.Add("Cache-Control", "no-cache"); client.DefaultRequestHeaders.Add("CL-ID", cconsentHeaders.CL_ID); client.DefaultRequestHeaders.Add("X-ID", cconsentHeaders.X_ID); client.DefaultRequestHeaders.Add("P-Token", cconsentHeaders.P_Token); Запрос HttpRequestMessage = новый HttpRequestMessage(HttpMethod.Post, client.BaseAddress); request.Content = new StringContent(JsonConvert.SerializeObject(cconsent, Formatting.Indented), System.Text.Encoding.UTF8, "application/json"); await client.SendAsync(request).ContinueWith(responseTask => { Console.WriteLine("Ответ: {0}", responseTask.Result);}); } поймать (Исключение e) { Console.WriteLine("Ошибка в " + e.TargetSite + "\r\n" + e.Message); } Консоль.ReadLine(); } } }
У меня есть небольшая консольная программа, которая использует restAPI. Мне трудно увидеть, что именно я отправляю (ВЕСЬ запрос) и что именно я получаю в ответ (ВЕСЬ ответ). Я пробовал много Console.WriteLine с различными аргументами, но, похоже, мне не удалось получить конкретные результаты (ВЕСЬ запрос и ВЕСЬ ответ).
Не могли бы вы мне помочь, пожалуйста? Весь код ниже:
с использованием системы; используя System.Net.Http; использование System.Net.Http.Headers; использование System.Threading.Tasks; использование Newtonsoft.Json; пространство имен TEST_API { публичный частичный класс ConsentHeaders { [JsonProperty("CL-ID")] общественная строка CL_ID {получить; набор; } [JsonProperty("X-ID")] общественная строка X_ID {получить; набор; } [JsonProperty("P-токен")] общественная строка P_Token {получить; набор; } } публичный доступ к частичному классу { [JsonProperty("aP2")] общественная строка aP2 {получить; набор; } = "все учетные записи"; [JsonProperty("aAcc")] общественная строка aAcc {получить; набор; } = "все учетные записи"; } публичный частичный класс ConsentBody { [JsonProperty("доступ")] доступ к публичному доступу { get; внутренний набор; } [JsonProperty("combinedServiceIndicator")] общественный логический комбинированныйServiceIndicator {get; набор; } = ложь; [JsonProperty("частотаПерДень")] общественный ИНТ FrequencyPerDay {получить; набор; } = 4; [JsonProperty("recurringIndicator")] общественный логический recurringIndicator {get; набор; } = ложь; [JsonProperty("validUntil")] общедоступная строка validUntil {get; набор; } = "31 декабря 2019 г."; } классная программа { частная статическая пустота Main() { ConsentHeaders cust_consent_headers = новые ConsentHeaders { X_ID = "d587612Xq99", CL_ID = "8010aFQ9127", P_Token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ", }; ConsentBody cust_consent = новый ConsentBody //{ }; // Вы можете редактировать/обновлять любое значение, в противном случае будут использоваться значения по умолчанию. { доступ = новый доступ { aP2 = "все учетные записи", aAcc = "все учетные записи" }, комбинированныйServiceIndicator = ложь, частотаПерДень = 4, повторяющийсяИндикатор = ложь, validUntil = "2019-12-31" }; URL-адрес System.Uri = new System.Uri("http://MyService:8001/some/api/do/something"); CreateConsentAsync(URL, cust_consent_headers, cust_consent).GetAwaiter().GetResult(); } статический клиент HttpClient = новый HttpClient(); статическая асинхронная задача CreateConsentAsync (Uri HTTPaddress, ConsentHeaders cconsentHeaders, ConsentBody cconsent) { пытаться { client.BaseAddress = HTTP-адрес; client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*")); client.DefaultRequestHeaders.Add("Соединение", "keep-alive"); client.DefaultRequestHeaders.Add("Cache-Control", "no-cache"); client.DefaultRequestHeaders.Add("CL-ID", cconsentHeaders.CL_ID); client.DefaultRequestHeaders.Add("X-ID", cconsentHeaders.X_ID); client.DefaultRequestHeaders.Add("P-Token", cconsentHeaders.P_Token); Запрос HttpRequestMessage = новый HttpRequestMessage(HttpMethod.Post, client.BaseAddress); request.Content = new StringContent(JsonConvert.SerializeObject(cconsent, Formatting.Indented), System.Text.Encoding.UTF8, "application/json"); await client.SendAsync(request).ContinueWith(responseTask => { Console.WriteLine("Ответ: {0}", responseTask.Result);}); } поймать (Исключение e) { Console.WriteLine("Ошибка в " + e.TargetSite + "\r\n" + e.Message); } Консоль.ReadLine(); } } }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
В чем разница между HttpRequest.Path и HttpRequest.PathBase в ASP.NET Core?
Anonymous » » в форуме C# - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ошибка получения: java.lang.NoClassDefFoundError: java/net/http/HttpRequest
Anonymous » » в форуме JAVA - 0 Ответы
- 77 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как получить HttpRequest в @ExceptionHandler с помощью RestClientException?
Anonymous » » в форуме JAVA - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-