Maison > développement back-end > Golang > Comment authentifier les demandes de proxy HTTP Go avec PostForm ?

Comment authentifier les demandes de proxy HTTP Go avec PostForm ?

Mary-Kate Olsen
Libérer: 2024-12-28 14:17:18
original
370 Les gens l'ont consulté

How to Authenticate Go HTTP Proxy Requests with PostForm?

Optez pour un proxy http avec authentification

Pour les scénarios nécessitant un proxy avec authentification, l'utilisation de la méthode PostForm peut être difficile. Cet article explore une solution de contournement à ce problème.

Approche initiale et ses limites

En règle générale, la définition de l'en-tête Proxy-Authorization dans la requête peut suffire pour l'authentification. Cependant, lorsque vous tentez de modifier un package tiers et d'ajouter la prise en charge du proxy, l'ajout de l'en-tête Proxy-Authorization après la création du client peut ne pas suffire.

Solution alternative

L'approche alternative consiste à créer un client HTTP personnalisé avec la configuration proxy souhaitée. Ce client peut ensuite être remplacé dans le package tiers.

Extrait de code :

client := &http.Client{
  Transport: &http.Transport{
    Proxy: http.ProxyURL(&url.URL{
      Scheme: "http",
      User:   url.UserPassword("username", "password"),
      Host:   "146.137.9.45:65233",
    }),
  },
}
Copier après la connexion

Ce client peut être utilisé dans le package tiers au lieu de créant un nouveau client à chaque fois.

Alternativement, l'URL du proxy peut être analysée directement :

url, _ := url.Parse("http://username:[email protected]:65233")
client := &http.Client{
  Transport: &http.Transport{
    Proxy: http.ProxyURL(url),
  },
}
Copier après la connexion

En utilisant ce client sur mesure, le proxy avec authentification peut être intégré de manière transparente dans le package tiers, permettant des demandes de proxy authentifiées via la méthode PostForm.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal