curls proxykjede fra SOCKS til HTTP
Sett opp SOCKS-til-HTTP-kjeden curl støtter, finn rekkefølgen på endepunktene og test hvert hopp før de kombineres.
curls --preproxy kobler til en SOCKS-proxy før en HTTP- eller HTTPS-proxy nås. Alternativet støtter denne bestemte kjeden, ikke en vilkårlig liste med proxyservere.
Stien er klient → SOCKS-endepunkt → HTTP-proxy → mål. Bytt ut begge dokumentasjonsendepunktene i kommandoen:
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-tjenesten må kunne nå HTTP-proxyens adresse og port. HTTP-proxyen må deretter godta målforespørselen. Hvis den andre proxyen bruker et vertsnavn, bestemmer den første SOCKS-modusen hvor navnet slås opp; et numerisk endepunkt unngår dette oppslaget.
Finn hoppet som feiler
Bekreft først en forespørsel gjennom hvert endepunkt separat; bruk en HTTP-proxytest med tidsgrenser for HTTP-hoppet. Selv om begge virker, kan den kombinerte ruten feile fordi den første proxyen ikke kan nå den andre.
Les den detaljerte sporingen i tilkoblingsrekkefølge. En SOCKS-feil på vei til den andre proxyen kommer før HTTP-proxyens beslutning om å godta eller avvise CONNECT til nettstedet. Noter hvilket håndtrykk som feilet.
Når det ekstra hoppet hjelper
Oppsettet kan være nyttig når en autorisert HTTP-proxy er tilgjengelig via en SOCKS-sti. Det legger også til en tjeneste og nettverksrute som kan feile eller gi forsinkelser. Å kjede endepunkter fra en offentlig proxyliste gir ingen garanti for pålitelighet eller anonymitet og krever fortsatt tillit til partene som håndterer forbindelsen.
--preproxy krever curl 7.52.0 eller nyere; andre programmer støtter kanskje ikke samme oppsett.