Maison  >  Article  >  développement back-end  >  ## Comment configurer la prise en charge du proxy dans les clients HTTP Go avec des transports personnalisés ?

## Comment configurer la prise en charge du proxy dans les clients HTTP Go avec des transports personnalisés ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-26 05:22:30229parcourir

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

Utilisation d'un proxy dans les programmes Go avec des transports personnalisés

Lors de la création de clients HTTP dans Go, il est souvent nécessaire de spécifier un transport personnalisé à gérer paramètres réseau spécifiques. Cependant, le client HTTP standard ne respecte pas automatiquement les variables d'environnement proxy.

Utilisation de http.ProxyFromEnvironment

Pour activer la prise en charge du proxy dans vos programmes Go, vous pouvez utiliser la méthode http.ProxyFromEnvironment. Cette méthode renvoie une URL proxy basée sur les variables d'environnement HTTP_PROXY, HTTPS_PROXY et NO_PROXY.

<code class="go">var PTransport = &http.Transport{
    Proxy: http.ProxyFromEnvironment,
}

client := http.Client{
    Transport: PTransport,
}</code>

Exemple d'utilisation

Pour tester si cette approche fonctionne, vous pouvez définir manuellement les variables d'environnement proxy :

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'

Maintenant, vous pouvez créer un client HTTP et envoyer une requête :

<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>

Si les paramètres du proxy sont corrects, la réponse de la télécommande le serveur devrait être affiché.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn