curl’ün --preproxy seçeneği HTTP veya HTTPS proxyye ulaşmadan önce bir SOCKS proxyye bağlanır. Rastgele bir proxy sunucusu listesi yerine bu belirli zinciri destekler.

Yol istemci → SOCKS uç noktası → HTTP proxy → hedef şeklindedir. Komuttaki iki belge uç noktasını da değiştirin:

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 hizmeti HTTP proxynin adres ve portuna ulaşabilmelidir. Ardından HTTP proxy hedef isteğini kabul etmelidir. İkinci proxy host adıyla belirtilmişse ilk SOCKS modu bu adın nerede çözümleneceğini belirler; sayısal uç nokta bu aramayı önler.

Başarısız adımı bulmak

Önce her uç nokta üzerinden ayrı bir isteği doğrulayın; HTTP adımı için zaman sınırları olan HTTP proxy testi kullanın. İkisi de çalışsa bile ilk proxy ikinciye ulaşamadığından birleşik rota başarısız olabilir.

Ayrıntılı izi bağlantı sırasıyla okuyun. İkinci proxyye ulaşırken yaşanan SOCKS hatası, HTTP proxynin web sitesine CONNECT’i kabul veya reddetme kararından önce gelir. Hangi el sıkışmasının başarısız olduğunu kaydedin.

Ek adım ne zaman işe yarar?

Yetkili bir HTTP proxyye SOCKS yoluyla erişilebildiğinde bu düzen yararlı olabilir. Ancak başarısız olabilecek veya gecikme ekleyebilecek başka bir hizmet ve ağ rotası da ekler. Herkese açık proxy listesinden uç noktaları zincirlemek güvenilirlik veya anonimlik garantisi vermez ve bağlantıyı işleyen taraflara güvenmeyi yine gerektirir.

--preproxy curl 7.52.0 veya yenisini gerektirir; diğer uygulamalar aynı düzeni desteklemeyebilir.

İlgili makaleler