Dove trovare le intestazioni di risposta CONNECT di un proxy
Esamina lo scambio CONNECT quando un campo diagnostico specifico del proxy manca nell'oggetto di risposta di destinazione.
Un campo diagnostico nella risposta CONNECT del proxy appartiene a una risposta diversa dalla risposta successiva del sito web. Un oggetto di risposta di destinazione di alto livello può esporre solo quest'ultima.
| Interfaccia di trasporto | Dove compaiono i metadati CONNECT |
|---|---|
| API standard di connessione HTTP di Python, 3.12+ | get_proxy_response_headers() restituisce le intestazioni di risposta CONNECT, oppure None quando CONNECT non è stato inviato. |
| Raccolta delle intestazioni di libcurl | Le intestazioni CONNECT possono essere incluse. CURLOPT_SUPPRESS_CONNECT_HEADERS ne controlla la consegna tramite i percorsi di output delle intestazioni pertinenti. |
Per l'handler cURL di Guzzle, cattura ogni blocco di risposta con on_headers invece di guardare solo la risposta restituita. Usa l'interfaccia supportata del client che esegue davvero la richiesta. Una libreria costruita sopra Python non espone necessariamente il metodo di connessione nella sua risposta, e un'istanza di connessione separata non può rivelare questo scambio. Sopprimere le intestazioni CONNECT di libcurl può semplificare un parser nascondendo però la prova che la diagnosi richiede.
Se il campo è ancora assente, controlla le condizioni documentate di prodotto, metodo e risultato dell'operatore. Una richiesta inoltrata in testo semplice e un tunnel HTTPS opaco possono esporre i metadati in modo diverso; un campo del fornitore non è una parte obbligatoria di ogni risposta.
Mantieni la definizione del campo insieme al suo valore. Un IP restituito può descrivere l'ascoltatore, il binding locale, l'uscita scelta o la destinazione. La sua sola forma non identifica l'origine vista dal sito web.