HttpClient.DefaultProxy 屬性

定義

取得或設定全域 HTTP Proxy。

C#
public static System.Net.IWebProxy DefaultProxy { get; set; }

屬性值

每個 HTTP 要求所使用的 Proxy。

例外狀況

傳遞的值不能是 null

備註

這個靜態屬性會決定所有實例在 HttpClient 傳遞其建構函式中 HttpMessageHandler 未明確設定 Proxy 時所使用的預設 Proxy。

此屬性所傳回的預設執行個體會根據您的平台,初始化下列一組不同的規則:

  • 針對 Windows:從環境變數讀取 Proxy 組態,或者,如果未定義,則從使用者的 Proxy 設定中讀取。

  • 針對 macOS:從環境變數讀取 Proxy 組態,或者,如果未定義,則從系統的 Proxy 設定中讀取。

  • 針對 Linux:從環境變數讀取 Proxy 組態,或者,如果未定義,此屬性會初始化略過所有位址的非設定執行個體。

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

  • HTTP_PROXY:用於 HTTP 要求的 Proxy 伺服器。
  • HTTPS_PROXY:用於 HTTPS 要求的 Proxy 伺服器。
  • ALL_PROXY:如果未定義HTTP_PROXY和/或HTTPS_PROXY,則用於 HTTP 和/或 HTTPS 要求的 Proxy 伺服器。
  • NO_PROXY:應從 Proxy 處理中排除的主機名稱清單 (以逗號分隔)。 不支援以星號作為萬用字元;如果您想要比對子網域,請使用前置點。 範例: NO_PROXY=.example.com (具有前置點) 會比對 www.example.com,但不符合 example.comNO_PROXY=example.com (沒有前置點) 將不符合 www.example.com。 未來可能會重新檢視此行為,以更符合其他生態系統。

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

Proxy 伺服器可能是主機名或IP位址,選擇性地後面接著冒號和埠號碼,或者可能是 HTTPURL,選擇性地包含 Proxy 驗證的使用者名稱和密碼。 URL 必須以 http 開頭 (不是 https),而且不能在主機名稱、IP 或連接埠之後包含任何文字。

適用於

產品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9