Proxy dans Go au-delà des variables d'environnement par défaut
Dans Go, l'utilisation d'un proxy est généralement prise en charge via les variables d'environnement HTTP_PROXY et HTTPS_PROXY. Cependant, ces variables ne suffisent pas toujours pour les cas d'utilisation personnalisés.
Pour configurer un proxy par programme dans Go, vous pouvez exploiter la méthode http.ProxyFromEnvironment. Cette méthode renvoie l'URL du proxy appropriée en fonction des variables d'environnement HTTP_PROXY, HTTPS_PROXY et NO_PROXY. La priorité est donnée à HTTPS_PROXY pour les requêtes HTTPS.
Voici un exemple :
<code class="go">import ( "net/http" "net/http/httputil" ) func main() { // Retrieve the proxy configuration from environment variables. proxyURL := httputil.ProxyFromEnvironment(nil) // Create a custom transport with the proxy configuration. transport := &http.Transport{ Proxy: proxyURL, } // Initialize an HTTP client using the custom transport. client := &http.Client{ Transport: transport, } // Perform an HTTP request using the proxied client. resp, err := client.Get("https://example.com") if err != nil { // Handle error } // Read the response body. bodyBytes, err := ioutil.ReadAll(resp.Body) if err != nil { // Handle error } bodyString := string(bodyBytes) fmt.Println("Response body:", bodyString) }</code>
En utilisant http.ProxyFromEnvironment, vous pouvez configurer dynamiquement le proxy dans vos programmes Go, que le proxy soit ou non les paramètres sont définis ou non dans les variables d'environnement. Cela offre une flexibilité dans la gestion des exigences de proxy personnalisées pour votre application.
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!