Reťazec proxy od SOCKS k HTTP v curl
Nastavte reťazec SOCKS–HTTP podporovaný curl, určte poradie koncových bodov a pred spojením otestujte každý krok.
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ť.