在具有自訂傳輸的Go 程式中使用代理
在Go 中建立HTTP 客戶端時,通常需要指定自訂傳輸來處理具體的網路設定。但是,標準 HTTP 用戶端不會自動尊重代理環境變數。
使用 http.ProxyFromEnvironment
要在 Go 程式中啟用代理支持,您可以使用http.ProxyFromEnvironment 方法。此方法根據環境變數 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY 傳回代理 URL。
<code class="go">var PTransport = &http.Transport{ Proxy: http.ProxyFromEnvironment, } client := http.Client{ Transport: PTransport, }</code>
範例用法
要測試此方法是否有效,您可以手動設定代理環境變數:
export http_proxy='http://user:password@proxy-server:3128' export https_proxy='http://user:password@proxy-server:3128' export HTTP_PROXY='http://user:password@proxy-server:3128' export HTTPS_PROXY='http://user:password@proxy-server:3128'
現在,您可以建立HTTP 用戶端並傳送請求:
<code class="go">req, _ := http.NewRequest("GET", "https://jsonplaceholder.typicode.com/todos/1", nil) req.Header.Add("If-None-Match", `some value`) resp, _ := client.Do(req)</code>
如果代理設定正確,則來自遠端的回應應顯示伺服器。
以上是## 如何在具有自訂傳輸的 Go HTTP 用戶端中設定代理支援?的詳細內容。更多資訊請關注PHP中文網其他相關文章!