Maison > Article > développement back-end > golang définir un proxy
Lorsque vous utilisez Golang pour la communication réseau (telle que les requêtes http), vous devez parfois configurer un proxy pour accéder aux ressources réseau externes. Cet article explique comment configurer le proxy Golang.
Vous devez d'abord définir les variables d'environnement HTTP_PROXY et HTTPS_PROXY. Les valeurs de ces deux variables sont l'adresse et le numéro de port du serveur proxy, par exemple :
Système Linux/MacOS :
export HTTP_PROXY=http://proxy.server.address:port export HTTPS_PROXY=https://proxy.server.address:port
Système Windows :
set HTTP_PROXY=http://proxy.server.address:port set HTTPS_PROXY=https://proxy.server.address:port
Si vous n'avez besoin de configurer un proxy que temporairement, vous pouvez utiliser http.ProxyFromEnvironment pour obtenir les informations de proxy dans le programme :
import ( "net/http" ) func main() { // 从环境变量中获取代理信息 proxy := http.ProxyFromEnvironment // 创建HTTP客户端 client := &http.Client{ Transport: &http.Transport{ Proxy: proxy, }, } // 发送GET请求 resp, err := client.Get("https://www.google.com") if err != nil { // 处理错误 } // 关闭响应体 defer resp.Body.Close() // 读取响应内容 // ... }
Si vous devez définir un proxy spécifique proxy, vous pouvez utiliser la fonction NewSingleHostReverseProxy dans le package net/http/httputil pour créer un proxy :
import ( "net/http" "net/http/httputil" "net/url" ) func main() { // 创建代理服务器的URL proxyUrl, _ := url.Parse("http://proxy.server.address:port") // 创建ReverseProxy reverseProxy := httputil.NewSingleHostReverseProxy(proxyUrl) // 创建HTTP服务器 http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { // 设置代理信息 r.URL.Host = "www.google.com" r.URL.Scheme = "https" // 将请求转发给代理服务器 reverseProxy.ServeHTTP(w, r) }) // 启动HTTP服务器 http.ListenAndServe(":8080", nil) }
Ce qui précède est la méthode pour configurer le proxy golang. Vous pouvez choisir différentes méthodes en fonction des besoins spécifiques. Dans les applications pratiques, il est nécessaire de prêter attention à la sécurité et à la fiabilité du serveur proxy pour garantir la sécurité et la stabilité de la communication réseau.
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!