Volba --preproxy v curl se připojí k SOCKS proxy před dosažením HTTP nebo HTTPS proxy. Podporuje tento konkrétní řetězec, nikoli libovolný seznam proxy serverů.

Cesta je klient → koncový bod SOCKS → HTTP proxy → cíl. Nahraďte oba dokumentační koncové body v příkazu:

curl --preproxy socks5h://203.0.113.10:1080 --proxy http://203.0.113.20:8080 --noproxy '' --connect-timeout 5 --max-time 20 --verbose https://example.com/

Služba SOCKS musí dosáhnout adresy a portu HTTP proxy. HTTP proxy pak musí přijmout požadavek k cíli. Pokud je druhá proxy zadána názvem hostitele, první režim SOCKS určuje, kde se tento název přeloží; číselný koncový bod tento překlad nepotřebuje.

Hledání neúspěšného kroku

Nejprve ověřte požadavek přes každý koncový bod zvlášť; pro HTTP krok použijte časově omezený test HTTP proxy. I když oba fungují, kombinovaná cesta může selhat, protože první proxy nedosáhne druhé.

Čtěte podrobný výpis v pořadí spojení. Chyba SOCKS při dosahování druhé proxy nastává před rozhodnutím HTTP proxy přijmout či odmítnout CONNECT k webu. Zaznamenejte, který handshake selhal.

Kdy je další krok užitečný

Toto uspořádání může pomoci, pokud je autorizovaná HTTP proxy dosažitelná přes cestu SOCKS. Přidává však další službu a síťovou cestu, které mohou selhat nebo způsobit zpoždění. Řetězení koncových bodů z veřejného seznamu proxy nezaručuje spolehlivost ani anonymitu a stále vyžaduje důvěru ve strany zpracovávající spojení.

--preproxy vyžaduje curl 7.52.0 nebo novější; jiné aplikace nemusí stejné uspořádání podporovat.

Související články