curlin --preproxy yhdistää SOCKS-välityspalvelimeen ennen HTTP- tai HTTPS-välityspalvelinta. Se tukee tätä nimenomaista ketjua, ei mielivaltaista välityspalvelinluetteloa.

Polku on asiakas → SOCKS-päätepiste → HTTP-välityspalvelin → kohde. Korvaa komennon molemmat dokumentaatiopäätepisteet:

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/

SOCKS-palvelun täytyy tavoittaa HTTP-välityspalvelimen osoite ja portti. Sen jälkeen HTTP-välityspalvelimen täytyy hyväksyä kohdepyyntö. Jos toinen palvelin käyttää isäntänimeä, ensimmäinen SOCKS-tila määrittää, missä nimi ratkaistaan; numeerinen päätepiste välttää tämän haun.

Epäonnistuvan vaiheen löytäminen

Varmista ensin pyyntö kummankin päätepisteen kautta erikseen; käytä HTTP-vaiheessa aikarajoitettua HTTP-välityspalvelintestiä. Vaikka molemmat toimivat, yhdistetty reitti voi epäonnistua, koska ensimmäinen palvelin ei tavoita toista.

Lue yksityiskohtaista jäljitystä yhteysjärjestyksessä. SOCKS-virhe toista palvelinta tavoiteltaessa tapahtuu ennen HTTP-välityspalvelimen päätöstä hyväksyä tai hylätä CONNECT verkkosivustolle. Kirjaa epäonnistunut kättely.

Milloin lisävaihe auttaa

Järjestely voi olla hyödyllinen, kun sallittu HTTP-välityspalvelin on saavutettavissa SOCKS-polulla. Se lisää myös palvelun ja verkkoreitin, jotka voivat vikaantua tai hidastaa. Julkisen välityspalvelinluettelon päätepisteiden ketjuttaminen ei takaa luotettavuutta tai anonymiteettiä ja vaatii yhä luottamusta yhteyttä käsitteleviin osapuoliin.

--preproxy vaatii curlin version 7.52.0 tai uudemman; muut sovellukset eivät välttämättä tue samaa järjestelyä.

Aiheeseen liittyvät artikkelit