Onde encontrar os cabeçalhos de resposta CONNECT de um proxy
Observe a troca CONNECT quando um campo de diagnóstico específico do proxy está ausente no objeto de resposta de destino.
Um campo de diagnóstico na resposta CONNECT do proxy pertence a uma resposta diferente da resposta posterior do site. Um objeto de resposta de destino de alto nível pode expor apenas esta última.
| Interface de transporte | Onde os metadados CONNECT aparecem |
|---|---|
| API padrão de conexão HTTP do Python, 3.12+ | get_proxy_response_headers() retorna os cabeçalhos de resposta CONNECT, ou None quando o CONNECT não foi enviado. |
| Coleta de cabeçalhos do libcurl | Os cabeçalhos CONNECT podem ser incluídos. CURLOPT_SUPPRESS_CONNECT_HEADERS controla a entrega deles pelos caminhos de saída de cabeçalhos relevantes. |
Para o manipulador cURL do Guzzle, capture cada bloco de resposta com on_headers em vez de olhar apenas para a resposta retornada. Use a interface suportada do cliente que realmente faz a requisição. Uma biblioteca construída sobre Python não expõe necessariamente o método de conexão em sua resposta, e uma instância de conexão separada não pode revelar essa troca. Suprimir os cabeçalhos CONNECT do libcurl pode simplificar um analisador enquanto esconde a evidência que o diagnóstico precisa.
Se o campo ainda estiver ausente, verifique as condições documentadas de produto, método e resultado do operador. Uma requisição encaminhada em texto simples e um túnel HTTPS opaco podem expor os metadados de forma diferente; um campo do fornecedor não é parte obrigatória de toda resposta.
Mantenha a definição do campo junto com seu valor. Um IP retornado pode descrever o ouvinte, a vinculação local, a saída escolhida ou o destino. Sua forma sozinha não identifica a origem vista pelo site.