Voľba --preproxy v curl sa pripojí k SOCKS proxy pred dosiahnutím HTTP alebo HTTPS proxy. Podporuje tento konkrétny reťazec, nie ľubovoľný zoznam proxy serverov.

Cesta je klient → koncový bod SOCKS → HTTP proxy → cieľ. Nahraďte oba dokumentačné koncové body v príkaze:

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í dosiahnuť adresu a port HTTP proxy. HTTP proxy potom musí prijať požiadavku k cieľu. Ak je druhé proxy zadané názvom hostiteľa, prvý režim SOCKS určuje, kde sa názov preloží; číselný koncový bod sa tomuto vyhľadaniu vyhne.

Hľadanie neúspešného kroku

Najprv overte požiadavku cez každý koncový bod osobitne; pre HTTP krok použite časovo ohraničený test HTTP proxy. Aj keď oba fungujú, kombinovaná cesta môže zlyhať, lebo prvé proxy nedosiahne druhé.

Čítajte podrobný výpis v poradí spojení. Chyba SOCKS pri dosahovaní druhého proxy nastáva pred rozhodnutím HTTP proxy prijať či odmietnuť CONNECT k webu. Zaznamenajte, ktorý handshake zlyhal.

Kedy ďalší krok pomáha

Toto usporiadanie môže byť užitočné, ak je autorizované HTTP proxy dosiahnuteľné cez cestu SOCKS. Pridáva však ďalšiu službu a sieťovú cestu, ktoré môžu zlyhať alebo zdržať spojenie. Reťazenie bodov z verejného zoznamu proxy nezaručuje spoľahlivosť ani anonymitu a naďalej vyžaduje dôveru v strany spracúvajúce spojenie.

--preproxy vyžaduje curl 7.52.0 alebo novší; iné aplikácie nemusia rovnaké usporiadanie podporovať.

Súvisiace články