Lorsque vous utilisez Golang pour effectuer des requêtes réseau, vous devez parfois accéder au site Web cible via un proxy. Ci-dessous, nous expliquons comment configurer un proxy dans Golang.
Utilisez le proxy http pour utiliser automatiquement le proxy lors de l'accès aux requêtes http. Le code est le suivant :
func main() { proxyUrl, _ := url.Parse("http://127.0.0.1:8080") client := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(proxyUrl), }, } resp, err := client.Get("http://www.baidu.com") if err != nil { fmt.Println(err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
où http.ProxyURL(proxyUrl)
peut spécifier l'adresse du proxy. , client.Get()
peut lancer des requêtes réseau. http.ProxyURL(proxyUrl)
可以指定代理地址,client.Get()
可以发起网络请求。
如果需要同时访问http和https请求,可以使用如下代码:
func main() { proxyUrl, _ := url.Parse("http://127.0.0.1:8080") client := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(proxyUrl), TLSClientConfig: &tls.Config{ InsecureSkipVerify: true, }, }, } resp, err := client.Get("https://www.baidu.com") if err != nil { fmt.Println(err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
其中InsecureSkipVerify
参数用于跳过https证书验证。
使用socks5代理有很多优势,包括更好的安全性和匿名性。代码如下:
func main() { dialer, err := proxy.SOCKS5("tcp", "127.0.0.1:1080", nil, proxy.Direct) if err != nil { fmt.Println(err) return } httpClient := &http.Client{Transport: &http.Transport{Dial: dialer.Dial}} resp, err := httpClient.Get("http://www.google.com") if err != nil { fmt.Println(err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }
其中proxy.SOCKS5
可以指定socks5代理地址,httpClient.Get()
InsecureSkipVerify code> est utilisé pour ignorer la vérification du certificat https. 🎜<ol start="3">🎜Utilisez le proxy chaussettes5🎜🎜🎜L'utilisation du proxy chaussettes5 présente de nombreux avantages, notamment une meilleure sécurité et un meilleur anonymat. Le code est le suivant : 🎜rrreee🎜où <code>proxy.SOCKS5
peut spécifier l'adresse proxy chaussettes5, et httpClient.Get()
peut lancer une requête réseau. 🎜🎜La configuration des agents est également une partie importante de la programmation réseau. Après avoir appris, vous pouvez mieux gérer les situations réelles. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!