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.

Artigos relacionados