Заголовок аутентификации HttpClient не отправляется

Я пытаюсь использовать HttpClientдля стороннего сервиса, который требует базовой HTTP-аутентификации. Я использую AuthenticationHeaderValue. Вот что я пока придумал:

HttpRequestMessage request = 
    new HttpRequestMessage(
        new RequestType("third-party-vendor-action"),
        MediaTypeHeaderValue.Parse("application/xml"));
request.Headers.Authorization = new AuthenticationHeaderValue(
    "Basic", Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(
        string.Format("{0}:{1}", "username", "password"))));

var task = client.PostAsync(Uri, request.Content);
ResponseType response = task.ContinueWith(
    t =>
    {
        return t.Result.Content.ReadAsAsync();
    }).Unwrap().Result;

Похоже, что действие POST работает нормально, но я не получаю обратно ожидаемых данных. Путем проб и ошибок и, в конечном итоге, с помощью Fiddler для прослушивания необработанного трафика я обнаружил, что заголовок авторизации не отправляется.

Я видел this, но мне кажется, что схема аутентификации указана как часть конструктора AuthenticationHeaderValue.

Я что-то упустил?

23
задан Community 23 May 2017 в 10:29
поделиться