首頁 > 後端開發 > Golang > ## 如何在具有自訂傳輸的 Go HTTP 用戶端中設定代理支援?

## 如何在具有自訂傳輸的 Go HTTP 用戶端中設定代理支援?

Susan Sarandon
發布: 2024-10-26 05:22:30
原創
309 人瀏覽過

##  How to Set Up Proxy Support in Go HTTP Clients with Custom Transports?

在具有自訂傳輸的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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板