curlin SOCKSista HTTP:hen kulkeva välityspalvelinketju
Määritä curlin tukema SOCKS–HTTP-ketju, selvitä päätepisteiden järjestys ja testaa kukin vaihe ennen yhdistämistä.
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ä.