Attualmente sto utilizzando HttpWebRequest
per ottenere un sito Web. Mi piacerebbe usare il pattern di attesa, che non è dato per HttpWebRequests
. Ho trovato la classe HttpClient
, che sembra essere la nuova classe di lavoratori Http. Sto usando HttpClient.GetAsync(...)
per interrogare la mia pagina web. Ma mi manca l'opzione per aggiungere ClientCredentials
come HttpWebRequest.Credentials
. C'è un modo per fornire le informazioni di autenticazione HttpClient
?HttpClient.GetAsync con credenziali di rete
72
A
risposta
125
È possibile passare un'istanza della HttpClientHandler Class con le credenziali al HttpClient Constructor:
using (var handler = new HttpClientHandler { Credentials = ... })
using (var client = new HttpClient(handler))
{
var result = await client.GetAsync(...);
}
È anche possibile impostare 'useDefaultCredentials = true' per' HttpClientHandler' – DarkWalker
Ciò può causare un comportamento non ottimale quando l'autenticazione * * di base è richiesto http://stackoverflow.com/q/25761214/57428 – sharptooth
ho trovato che vorrete impostare handler.ClientCertificateOptions = ClientCertificateOption.Automatic per avere effettivamente i crediti inviati. –