HttpClient.DefaultProxy 屬性

定義

取得或設定全域 HTTP Proxy。

public:
 static property System::Net::IWebProxy ^ DefaultProxy { System::Net::IWebProxy ^ get(); void set(System::Net::IWebProxy ^ value); };
public static System.Net.IWebProxy DefaultProxy { get; set; }
static member DefaultProxy : System.Net.IWebProxy with get, set
Public Shared Property DefaultProxy As IWebProxy

屬性值

一個每個 HTTP 請求都會用的代理。

例外狀況

傳遞的值不可能是 null

備註

這個靜態屬性決定了所有 HttpClient 實例在傳遞的建構子中未明確 HttpMessageHandler 設定代理時所使用的預設代理。

這個屬性回傳的預設實例會依照你的平台不同而有所不同的初始化規則:

  • 對於 Windows: 從環境變數讀取代理設定,若未定義,則從使用者代理設定讀取。

  • macOS 版本: 從環境變數讀取代理設定,或若未定義,則從系統代理設定讀取。

  • 針對 Linux: 從環境變數讀取代理設定,或在未定義時,此特性初始化一個未設定的實例,繞過所有位址。

用於 Windows 和 Unix 平臺上 DefaultProxy 初始化的環境變數如下:

  • HTTP_PROXY:用於HTTP請求的代理伺服器。
  • HTTPS_PROXY:HTTPS請求中使用的代理伺服器。
  • ALL_PROXY:用於 HTTP 和/或 HTTPS 請求的代理伺服器,以防 HTTP_PROXY 和/或 HTTPS_PROXY 未定義。
  • NO_PROXY:應從代理中排除的主機名稱列表,這些名稱以逗號分隔。 萬用牌不支援星號;如果你想匹配子網域,可以用前導點。 範例: NO_PROXY=.example.com (前導點)將匹配 www.example.com,但不會匹配 example.comNO_PROXY=example.com (無前導點)不會匹配 www.example.com。 未來可能會重新檢視此行為,以更符合其他生態系統。

在環境變數區分大小寫的系統上,變數名稱可能全部為小寫或全部大寫。 系統會先檢查小寫名稱。

代理伺服器可以是主機名稱或 IP 位址,後面可選擇性地加上冒號和埠號,或者可能是 http、 、 socks4ahttpssocks4socks5 、 或 URL 等。 網址不得包含主機名稱、IP 或埠口後的任何文字。 若未指定方案, http 則假設為 。 URL 可選擇性地包含使用者名稱和密碼以供代理驗證,但在使用 socks4socks4a 時會忽略密碼,因為該協定不支援密碼驗證。

  • http: http://[username:password@]hostname[:port]
  • https: https://[username:password@]hostname[:port]
  • socks4: socks4://[username@]hostname[:port]
  • socks4a: socks4a://[username@]hostname[:port]
  • socks5: socks5://[username:password@]hostname[:port]

適用於