Maison >développement back-end >Golang >Comment configurer des proxys pour le client HTTP de Go ?

Comment configurer des proxys pour le client HTTP de Go ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-03 17:26:39452parcourir

How to Configure Proxies for Go's HTTP Client?

Configuration du proxy pour le client HTTP Go

De nombreuses applications client HTTP nécessitent l'utilisation d'un proxy pour accéder à des sites Web ou à des services. Go offre une flexibilité dans la configuration des configurations de proxy pour son client HTTP.

Configuration du proxy par défaut

Pour utiliser un proxy automatiquement, vous pouvez définir la variable d'environnement suivante :

export HTTP_PROXY="http://proxyIp:proxyPort"

Vous pouvez également utiliser le package os dans Allez :

os.Setenv("HTTP_PROXY", "http://proxyIp:proxyPort")

Configuration de proxy personnalisée

Si vous avez besoin d'un contrôle plus granulaire sur la configuration du proxy, vous pouvez créer un client HTTP personnalisé qui utilise explicitement un proxy :

proxyUrl, _ := url.Parse("http://proxyIp:proxyPort")
myClient := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}}

Vous pouvez utiliser ce client personnalisé pour faire des demandes :

resp, err := myClient.Get("http://example.com")

Modification par défaut Transport

Une autre option consiste à modifier le transport par défaut utilisé par le package net/http :

proxyUrl, _ := url.Parse("http://proxyIp:proxyPort")
http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyUrl)}

Cette configuration affecte toutes les requêtes HTTP effectuées par votre programme, en utilisant le HTTP par défaut client ou clients personnalisés qui ne spécifient pas de proxy.

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