Ondersoek 'n mislukte proxy-CONNECT-antwoordliggaam met curl
Stuur 'n korrek gevormde diagnostiese CONNECT direk na 'n HTTP-proxy en stoor die HTTP-foutopskrifte en -liggaam afsonderlik.
'n Proxy wat CONNECT weier, kan 'n HTTP-foutdokument terugstuur wat sy beleid of die mislukte voortgaande verbinding verduidelik. Vir 'n gemagtigde diagnose teen 'n gewone HTTP-proxy kan curl daardie versoek direk stuur en die antwoord stoor:
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/
Die finale URL wys na die proxy-luisteraar. Vir 'n toegelate vergelyking van openbare proxies bied die HTTP-proxylys kandidate vir daardie luisteraar-URL. --request verskaf die metodetoken; --request-target verskaf die CONNECT-gesag. As hulle apart gehou word, lewer dit CONNECT service.example:443 HTTP/1.1.
Die leë proxy-opsie verhoed dat curl hierdie diagnose deur 'n ander geërfde proxy stuur. Die opdrag laat --fail doelbewus weg sodat 'n HTTP-foutdokument behou kan word.
'n Ongemagtigde poging kan by 407 stop voordat dit die fout bereik wat ondersoek word. Gebruik die proxy se bedoelde stawingopset wanneer jy 'n gemagtigde versoek herproduseer.
Dit is vir die ondersoek van foutantwoorde. As die proxy 2xx terugstuur, word die verbinding 'n tonnel eerder as 'n gewone HTTP-liggaamoorhandiging. Hierdie diagnostiek met 'n pasgemaakte metode begin nie die bestemming se TLS-uitruiling nie en kan sy tydslimiet bereik op 'n aanvaarde oop tonnel.
Gebruik die normale --proxy-versoekvloei vir 'n werklike HTTPS-opvrag. Hou die diagnostiese status en liggaam saam met hul spesifieke proxy en teiken.