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", }), }, }
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), }, }
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!