Utilisation de proxys avec authentification pour les requêtes HTTP dans Go
Lorsque vous travaillez avec des requêtes HTTP, il est courant de rencontrer des situations dans lesquelles vous devez utiliser un proxy avec authentification. Cela peut être dû à des restrictions de réseau ou à une amélioration des performances. Cependant, configurer des proxys avec authentification peut être un peu délicat dans Go.
La documentation du package net/http (le package de bibliothèque standard pour gérer les requêtes HTTP dans Go) fournit des exemples d'utilisation des proxys, mais ils n’abordent pas explicitement le cas des mandataires authentifiés. Pour gérer cela, vous devrez configurer le HEADER dans le transport pour autoriser correctement vos requêtes de proxy.
Voici comment utiliser des proxys avec authentification dans vos requêtes HTTP à l'aide du package net/http dans Go :
Déclarez les identifiants d'authentification : Commencez par déclarer le nom d'utilisateur et le mot de passe du proxy. authentification.
auth := "username:password"
Encoder les informations d'identification : Encoder les informations d'identification à l'aide de l'encodage base64.
basicAuth := "Basic " base64.StdEncoding.EncodeToString([]byte(auth))
Définissez le ProxyConnectHeader : Créez un http.Header pour contenir l'en-tête d'autorisation du proxy et ajoutez le code encodé informations d'identification.
transport.ProxyConnectHeader = http.Header{}
transport.ProxyConnectHeader.Add("Proxy-Authorization", basicAuth)
Utilisez le transport : Utilisez le transport modifié pour vos requêtes HTTP.
client := &http.Client{
Transport: transport,
}
En suivant ces étapes, vous pouvez utiliser avec succès des proxys avec authentification dans vos requêtes HTTP dans Go.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3