curls proxykæde fra SOCKS til HTTP
Opsæt den SOCKS-til-HTTP-kæde, curl understøtter, fastlæg endepunkternes rækkefølge, og test hvert hop før sammensætning.
curls --preproxy forbinder til en SOCKS-proxy, før en HTTP- eller HTTPS-proxy nås. Funktionen understøtter denne bestemte kæde, ikke en vilkårlig liste af proxyservere.
Stien er klient → SOCKS-endepunkt → HTTP-proxy → destination. Udskift begge dokumentationsendepunkter 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 skal kunne nå HTTP-proxyens adresse og port. HTTP-proxyen skal derefter acceptere destinationsforespørgslen. Hvis den anden proxy bruger et værtsnavn, bestemmer den første SOCKS-tilstand, hvor navnet slås op; et numerisk endepunkt undgår opslaget.
Find det hop, der fejler
Bekræft først en forespørgsel gennem hvert endepunkt separat; brug en HTTP-proxytest med tidsgrænser til HTTP-hoppet. Selv hvis begge virker, kan den samlede rute fejle, fordi den første proxy ikke kan nå den anden.
Læs den udførlige sporing i forbindelsesrækkefølge. En SOCKS-fejl på vej til den anden proxy kommer før HTTP-proxyens beslutning om at acceptere eller afvise CONNECT til webstedet. Notér hvilket håndtryk der fejlede.
Hvornår det ekstra hop hjælper
Opsætningen kan være nyttig, når en autoriseret HTTP-proxy kan nås gennem en SOCKS-sti. Den tilføjer også en tjeneste og netværksrute, der kan fejle eller øge forsinkelsen. At kæde endepunkter fra en offentlig proxyliste giver ingen garanti for pålidelighed eller anonymitet og kræver stadig tillid til de parter, der håndterer forbindelsen.
--preproxy kræver curl 7.52.0 eller nyere; andre programmer understøtter muligvis ikke samme opsætning.