La configuration d'un proxy avec authentification pour les requêtes HTTP peut être difficile, en particulier lors de son intégration dans du code tiers existant. Cet article se penche sur un problème spécifique rencontré lors de la tentative d'ajout d'une authentification proxy à une base de code existante.
Énoncé du problème :
L'extrait de code fourni établit un proxy HTTP sans authentification. en utilisant un objet de transport avec la fonction ProxyURL. Cependant, l'ajout de l'en-tête Proxy-Authorization à l'objet de réponse après la requête POST ne parvient pas à authentifier le proxy.
Solution :
Pour résoudre ce problème, spécifiez directement le URL proxy avec les informations d'authentification dans l'objet de transport.
// Create an HTTP client with proxy authentication client := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(&url.URL{ Scheme: "http", User: url.UserPassword("username", "password"), Host: "proxy.com:8080", }), }, } // Use the client to make requests with proxy authentication resp, err := client.PostForm(method, params)
Alternativement, l'URL proxy peut également être analysée directement.
// Parse the proxy URL proxyURL, _ := url.Parse("http://username:password@proxy.com:8080") // Create an HTTP client with proxy authentication client := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(proxyURL), }, } // Use the client to make requests with proxy authentication resp, err := client.PostForm(method, params)
Cette approche garantit que les informations d'identification du proxy sont incorporées dans l'objet de transport, permettant à la requête HTTP POST d'utiliser le proxy authentifié.
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!