Inspeccionar o corpo dunha resposta CONNECT fallida do proxy con curl
Envíe un CONNECT de diagnóstico correctamente formado directamente a un proxy HTTP e garde as cabeceiras e o corpo do fallo HTTP por separado.
Un proxy que rexeita CONNECT pode devolver un documento de erro HTTP que explica a súa política ou o fallo da conexión posterior. Para un diagnóstico autorizado contra un proxy HTTP común, curl pode enviar esa solicitude directamente e gardar a resposta:
curl --proxy '' --http1.1 --max-time 10 \
--request CONNECT \
--request-target service.example:443 \
--header 'Host: service.example:443' \
--dump-header tunnel.headers \
--output tunnel.body \
http://proxy.example:8080/
O URL final diríxese ao oínte do proxy. Para unha comparación permitida de proxies públicos, a lista de proxies HTTP ofrece candidatos para ese URL de oínte. --request fornece o token do método; --request-target fornece a autoridade CONNECT. Mantelos separados produce CONNECT service.example:443 HTTP/1.1.
A opción de proxy baleira impide que curl encamiñe este diagnóstico a través doutro proxy herdado. A orde omite deliberadamente --fail para que se poida conservar un documento de erro HTTP.
Un intento sen autenticar pode deterarse en 407 antes de chegar ao fallo que se investiga. Use a disposición de autenticación prevista polo proxy ao reproducir unha solicitude autenticada.
Isto serve para inspeccionar respostas de fallo. Se o proxy devolve 2xx, a conexión convértese nun túnel en lugar dunha transferencia normal de corpo HTTP. Este diagnóstico de método personalizado non inicia o intercambio TLS do destino e pode alcanzar o seu límite de tempo nun túnel aberto aceptado.
Use o fluxo normal de solicitudes --proxy para unha obtención HTTPS real. Conserve o estado e o corpo do diagnóstico co seu proxy e obxectivo concretos.