Http-клиент возвращает то, что похоже на закодированные данные.C#

Место общения программистов C#
Ответить
Anonymous
 Http-клиент возвращает то, что похоже на закодированные данные.

Сообщение 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();


Подробнее здесь: https://stackoverflow.com/questions/699 ... coded-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»