Où trouver les en-têtes de réponse CONNECT d'un proxy
Examinez l'échange CONNECT lorsqu'un champ de diagnostic propre au proxy manque dans l'objet de réponse de destination.
Un champ de diagnostic dans la réponse CONNECT du proxy appartient à une autre réponse que la réponse ultérieure du site web. Un objet de réponse de destination de haut niveau peut n'exposer que cette dernière.
| Interface de transport | Où apparaissent les métadonnées CONNECT |
|---|---|
| API standard de connexion HTTP de Python, 3.12+ | get_proxy_response_headers() renvoie les en-têtes de réponse CONNECT, ou None lorsque CONNECT n'a pas été envoyé. |
| Collecte d'en-têtes de libcurl | Les en-têtes CONNECT peuvent être inclus. CURLOPT_SUPPRESS_CONNECT_HEADERS contrôle leur livraison via les chemins de sortie d'en-têtes concernés. |
Pour le gestionnaire cURL de Guzzle, capturez chaque bloc de réponse avec on_headers au lieu de ne regarder que la réponse renvoyée. Utilisez l'interface prise en charge du client qui effectue réellement la requête. Une bibliothèque construite au-dessus de Python n'expose pas forcément la méthode de connexion dans sa réponse, et une instance de connexion séparée ne peut pas révéler cet échange. Supprimer les en-têtes CONNECT de libcurl peut simplifier un analyseur tout en masquant la preuve dont le diagnostic a besoin.
Si le champ reste absent, vérifiez les conditions documentées de produit, de méthode et de résultat de l'opérateur. Une requête transmise en clair et un tunnel HTTPS opaque peuvent exposer les métadonnées différemment ; un champ fournisseur ne fait pas partie obligatoirement de chaque réponse.
Conservez la définition du champ avec sa valeur. Une IP renvoyée peut décrire l'écouteur, la liaison locale, la sortie choisie ou la destination. Sa seule forme n'identifie pas la source vue par le site web.