Proxy koji odbija CONNECT može vratiti HTTP dokument pogreške koji objašnjava njegovu politiku ili neuspjeh daljnje veze. Za odobrenu dijagnostiku prema običnom HTTP proxyju curl može poslati taj zahtjev izravno i spremiti odgovor:

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/

Konačni URL adresira proxy poslušatelj. Za odobrenu usporedbu javnih proxyja popis HTTP proxyja nudi kandidate za taj URL poslušatelja. --request daje token metode; --request-target daje CONNECT ovlast. Njihovo razdvajanje daje CONNECT service.example:443 HTTP/1.1.

Prazna proxy opcija sprječava curl da ovu dijagnostiku usmjeri kroz drugi naslijeđeni proxy. Naredba namjerno izostavlja --fail kako bi se HTTP dokument pogreške mogao sačuvati.

Neautentificirani pokušaj može stati na 407 prije nego dođe do neuspjeha koji se istražuje. Upotrijebite predviđeni raspored autentifikacije proxyja kada reproducirate autentificirani zahtjev.

Ovo je za pregled odgovora na neuspjeh. Ako proxy vrati 2xx, veza postaje tunel umjesto običnog prijenosa HTTP tijela. Ova dijagnostika s prilagođenom metodom ne pokreće TLS razmjenu odredišta i može dosegnuti svoje vremensko ograničenje na prihvaćenom otvorenom tunelu.

Koristite uobičajeni tok zahtjeva --proxy za stvarno HTTPS dohvaćanje. Čuvajte dijagnostički status i tijelo uz njihov konkretni proxy i cilj.

Povezani članci