У меня возникла проблема с моим HTTP-клиентом. Результат я получаю следующим образом:
"�\b\0\0\0\0\0\0Ԑ1k�0��@��á�;�4xk�bJ�� A�**�\t�D��S'��p��{����+����\0\b�E\a�v�T����IJ�1D�,��YG5� �]8:�\t1�&衏�c�zú�LZ�\nzT8^�C�T����o/����M�ͱ��2w�Lo�J�4�L>ҢNɕ �W����\v��7.������n�ct����L�0� fr��������j�(J\v/L1�A����\ n\0\0��\0-��'`\0\0"
public HttpClient HttpClient
{
get
{
if (_httpClient == null)
{
var serverUri = new Uri(_session.VipData.APIURL);
if (string.IsNullOrEmpty(serverUri.Host) || serverUri.Port == 0)
{
throw new ConnectorServiceException("No session or session is not setup correctly");
}
if (string.IsNullOrEmpty(_session.Token))
{
throw new ConnectorServiceException("Invalid session token.");
}
// HttpClientHandler httpClientHandler = new HttpClientHandler();
Debug.WriteLine("Session token " + _session.Token);
var handler = CreateMonitoredClientHandler();
handler.ServerCertificateCustomValidationCallback = HttpService.ServerCertificateCustomValidation;
handler.ClientCertificateOptions = ClientCertificateOption.Automatic;
handler.UseDefaultCredentials = true;
handler.UseCookies = true;
handler.CookieContainer = new CookieContainer();
handler.CookieContainer.Add(serverUri, new Cookie("xxx", _session.Token));
_httpClient = new HttpClient(handler);
Debug.WriteLine("Base address " + serverUri);
_httpClient.BaseAddress = serverUri;
_httpClient.DefaultRequestHeaders.Accept.Clear();
// _httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");
// _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json;charset=utf-8"));
_httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json") { CharSet = Encoding.UTF8.WebName });
_httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(_session.Token);
_httpClient.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));
_httpClient.DefaultRequestHeaders.ConnectionClose = true;
}
return _httpClient;
}
}
Я больше не понимаю, что делаю не так. Ниже показано, как я называю
var result = await _session.HttpGetAsync("url", cancellationToken).GetResultAsync();
Подробнее здесь: https://stackoverflow.com/questions/699 ... coded-data
Http-клиент возвращает то, что похоже на закодированные данные. ⇐ C#
Место общения программистов C#
-
Anonymous
1728924777
Anonymous
У меня возникла проблема с моим HTTP-клиентом. Результат я получаю следующим образом:
"�\b\0\0\0\0\0\0Ԑ1k�0��@��á�;�4xk�bJ�� A�**�\t�D��S'��p��{����+����\0\b�E\a�v�T����IJ�1D�,��YG5� �]8:�\t1�&衏�c�zú�LZ�\nzT8^�C�T����o/����M�ͱ��2w�Lo�J�4�L>ҢNɕ �W����\v��7.������n�ct����L�0� fr��������j�(J\v/L1�A����\ n\0\0��\0-��'`\0\0"
public HttpClient HttpClient
{
get
{
if (_httpClient == null)
{
var serverUri = new Uri(_session.VipData.APIURL);
if (string.IsNullOrEmpty(serverUri.Host) || serverUri.Port == 0)
{
throw new ConnectorServiceException("No session or session is not setup correctly");
}
if (string.IsNullOrEmpty(_session.Token))
{
throw new ConnectorServiceException("Invalid session token.");
}
// HttpClientHandler httpClientHandler = new HttpClientHandler();
Debug.WriteLine("Session token " + _session.Token);
var handler = CreateMonitoredClientHandler();
handler.ServerCertificateCustomValidationCallback = HttpService.ServerCertificateCustomValidation;
handler.ClientCertificateOptions = ClientCertificateOption.Automatic;
handler.UseDefaultCredentials = true;
handler.UseCookies = true;
handler.CookieContainer = new CookieContainer();
handler.CookieContainer.Add(serverUri, new Cookie("xxx", _session.Token));
_httpClient = new HttpClient(handler);
Debug.WriteLine("Base address " + serverUri);
_httpClient.BaseAddress = serverUri;
_httpClient.DefaultRequestHeaders.Accept.Clear();
// _httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");
// _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json;charset=utf-8"));
_httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json") { CharSet = Encoding.UTF8.WebName });
_httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(_session.Token);
_httpClient.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));
_httpClient.DefaultRequestHeaders.ConnectionClose = true;
}
return _httpClient;
}
}
Я больше не понимаю, что делаю не так. Ниже показано, как я называю
var result = await _session.HttpGetAsync("url", cancellationToken).GetResultAsync();
Подробнее здесь: [url]https://stackoverflow.com/questions/69995162/http-client-returns-what-seems-like-encoded-data[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия