L’opció --preproxy de curl connecta amb un servidor intermediari SOCKS abans d’arribar a un d’HTTP o HTTPS. Admet aquesta cadena concreta, no una llista arbitrària de servidors intermediaris.

El camí és client → punt final SOCKS → servidor intermediari HTTP → destinació. Substitueix tots dos punts finals de documentació de l’ordre:

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/

El servei SOCKS ha de poder arribar a l’adreça i al port del servidor intermediari HTTP. Després, el servidor HTTP ha d’acceptar la petició a la destinació. Si el segon servidor usa un nom d’amfitrió, el primer mode SOCKS determina on es resol aquest nom; un punt final numèric evita aquesta consulta.

Trobar el salt que falla

Primer confirma una petició a través de cada punt final per separat; per al salt HTTP fes servir una prova de servidor intermediari HTTP amb límits de temps. Encara que tots dos funcionin, la ruta combinada pot fallar perquè el primer no pot arribar al segon.

Llegeix la traça detallada en ordre de connexió. Una fallada SOCKS en arribar al segon servidor intermediari precedeix la decisió del servidor HTTP d’acceptar o rebutjar CONNECT al lloc web. Registra quina negociació ha fallat.

Quan ajuda el salt addicional

Aquesta disposició pot ser útil si un servidor intermediari HTTP autoritzat és accessible per un camí SOCKS. També afegeix un servei i una ruta de xarxa que poden fallar o introduir retard. Encadenar punts finals d’una llista pública de servidors intermediaris no garanteix fiabilitat ni anonimat i encara exigeix confiança en les parts que gestionen la connexió.

--preproxy requereix curl 7.52.0 o posterior; altres aplicacions poden no admetre la mateixa disposició.

Articles relacionats