Cabeçalho de autenticação do HttpClient não sendo enviado
Estou tentando usar umHttpClient
para um serviço de terceiros que requer autenticação HTTP básica. Estou usando oAuthenticationHeaderValue
. Aqui está o que eu tenho até agora:
<code>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; </code>
Parece que a ação POST funciona bem, mas não recebo os dados esperados. Por meio de tentativa e erro e, finalmente, usando o Fiddler para detectar o tráfego bruto, descobri que o cabeçalho de autorização não está sendo enviado.
eu tenho vistoisto, mas acho que tenho o esquema de autenticação especificado como parte doAuthenticationHeaderValue
construtor.
Existe algo que eu perdi?