Nagłówek uwierzytelniania HttpClient nie jest wysyłany
Próbuję użyćHttpClient
dla usługi innej firmy, która wymaga podstawowego uwierzytelnienia HTTP. UżywamAuthenticationHeaderValue
. Oto, co do tej pory wymyśliłem:
HttpRequestMessage<RequestType> request =
new HttpRequestMessage<RequestType>(
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<ResponseType>();
}).Unwrap().Result;
Wygląda na to, że działanie POST działa poprawnie, ale nie odzyskuję oczekiwanych danych. Poprzez próbę i błąd, a ostatecznie użycie Fiddlera do wąchania surowego ruchu, odkryłem, że nagłówek autoryzacji nie jest wysyłany.
widziałemto, ale myślę, że mam schemat uwierzytelniania określony jako częśćAuthenticationHeaderValue
konstruktor.
Czy coś przegapiłem?