設定 Go SOCKS5 客戶端
Go 程式語言提供了一個全面的網路庫,其中包括對 SOCKS5 代理程式的支援。然而,net/proxy 套件的文檔缺乏如何有效利用其方法的詳細範例。此上下文中的關鍵方法之一是 SOCKS5,它會建立 SOCKS5 撥號器。
SOCKS5 函數需要幾個參數:
函數本身傳回一個 Dialer 類型,可用於建立透過 SOCKS5 代理路由的連接。一個常見的用例是設定一個使用 SOCKS5 代理程式的 HTTP 用戶端。
以下是如何在 Go 中建立 SOCKS5 用戶端的簡化範例:
import ( "fmt" "net" "net/http" "net/http/proxy" ) func main() { // Establish SOCKS5 dialer proxyDialer, err := proxy.SOCKS5("tcp", "proxy_ip", nil, proxy.Direct) if err != nil { fmt.Println("Error connecting to proxy:", err) return } // Create HTTP transport using our SOCKS5 dialer transport := &http.Transport{Dial: proxyDialer.Dial} // Initialize HTTP client with our transport client := &http.Client{Transport: transport} // Make a request through our SOCKS5 proxy req, err := http.NewRequest("GET", "https://example.com", nil) if err != nil { fmt.Println("Error creating request:", err) return } resp, err := client.Do(req) if err != nil { fmt.Println("Error making request:", err) return } defer resp.Body.Close() fmt.Println("Response status:", resp.Status) }
此範例假設proxy_ip 是 SOCKS5 代理伺服器的 IP 位址或主機名稱。透過使用 SOCKS5 函數並透過它建立的撥號器路由您的 HTTP 請求,您可以建立透過 SOCKS5 伺服器代理的連線。
以上是如何設定 Go SOCKS5 客戶端?的詳細內容。更多資訊請關注PHP中文網其他相關文章!