Dot-Net
使用 HttpClient 類時如何對代理進行身份驗證?
我有一個基於 .NET 4 的控制台應用程序,它使用
HttpClient庫(通過 NuGet 獲得)通過 Internet 從公共 API 檢索數據。控制台應用程序位於代理後面。它所在的 Windows 電腦在 Internet Explorer 中具有正確的代理設置。當控制台應用程序嘗試訪問外部世界時,它會收到 407 狀態 - “需要代理身份驗證”。我還沒有編寫任何特定的程式碼來處理代理。我從 407 錯誤中假設應用程序指向代理沒有問題,但代理沒有對請求進行身份驗證。
我的問題是,是否可以將 HttpClient 設置為使用登錄使用者的憑據來驗證代理?如果是這樣,怎麼做?
var client = new HttpClient(webRequestHandler); client.PostAsync(RequestUri, MyContent);
我設法通過 app.config 中的代理配置非常簡單地解決了我的問題。
<system.net> <defaultProxy enabled="true" useDefaultCredentials="true"> <proxy usesystemdefault="True" /> </defaultProxy> </system.net><http://msdn.microsoft.com/en-us/library/dkwyc043.aspx>