Lanțul proxy de la SOCKS la HTTP în curl
Configurează lanțul SOCKS–HTTP acceptat de curl, identifică ordinea punctelor finale și testează fiecare etapă înainte de combinare.
Opțiunea --preproxy din curl se conectează la un proxy SOCKS înainte să ajungă la un proxy HTTP sau HTTPS. Acceptă acest lanț specific, nu o listă arbitrară de servere proxy.
Calea este client → punct SOCKS → proxy HTTP → destinație. Înlocuiește ambele puncte de documentație din comandă:
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/
Serviciul SOCKS trebuie să poată ajunge la adresa și portul proxy-ului HTTP. Apoi proxy-ul HTTP trebuie să accepte cererea către destinație. Dacă al doilea proxy folosește un nume de gazdă, primul mod SOCKS determină unde este rezolvat acel nume; un punct numeric evită această căutare.
Găsirea etapei care eșuează
Confirmă mai întâi o cerere prin fiecare punct separat; pentru etapa HTTP folosește un test de proxy HTTP cu limite de timp. Chiar dacă ambele funcționează, ruta combinată poate eșua deoarece primul proxy nu ajunge la al doilea.
Citește urma detaliată în ordinea conexiunilor. O eroare SOCKS la atingerea celui de-al doilea proxy apare înaintea deciziei proxy-ului HTTP de a accepta sau respinge CONNECT către site. Notează ce negociere a eșuat.
Când ajută etapa suplimentară
Configurația poate fi utilă când un proxy HTTP autorizat poate fi accesat printr-o cale SOCKS. Adaugă însă un serviciu și o rută de rețea care pot eșua sau introduce întârzieri. Înlănțuirea punctelor dintr-o listă publică de proxy-uri nu garantează fiabilitate sau anonimat și cere în continuare încredere în părțile care gestionează conexiunea.
--preproxy necesită curl 7.52.0 sau mai nou; alte aplicații pot să nu accepte aceeași configurație.