2012-04-24 58 views
72

Używam obecnie HttpWebRequest, aby uzyskać stronę internetową. Chciałbym użyć oczekującego wzoru, który nie jest podany dla HttpWebRequests. Znalazłem klasę HttpClient, która wydaje się być nową klasą robotów Http. Używam HttpClient.GetAsync(...) do wysyłania zapytań na moją stronę. Ale brakuje mi opcji dodania ClientCredentials, takiej jak HttpWebRequest.Credentials. Czy istnieje sposób podania informacji uwierzytelniających HttpClient?HttpClient.GetAsync z poświadczeniami sieciowymi

Odpowiedz

125

można przekazać instancję HttpClientHandler Class z mandatów do HttpClient Constructor:

using (var handler = new HttpClientHandler { Credentials = ... }) 
using (var client = new HttpClient(handler)) 
{ 
    var result = await client.GetAsync(...); 
} 
+13

Można również ustawić 'UseDefaultCredentials = TRUE dla' HttpClientHandler' – DarkWalker

+7

może to spowodować nieoptymalne zachowanie podczas uwierzytelniania * * Basic Wymagane http://stackoverflow.com/q/25761214/57428 – sharptooth

+1

znalazłem, że będziesz chciał ustawić handler.ClientCertificateOptions = ClientCertificateOption.Automatic, aby faktycznie wysłać kredyty. –

Powiązane problemy