Opsi --preproxy curl menghubungkan ke proxy SOCKS sebelum mencapai proxy HTTP atau HTTPS. Opsi ini mendukung rantai khusus tersebut, bukan daftar sembarang server proxy.

Jalurnya adalah klien → endpoint SOCKS → proxy HTTP → tujuan. Ganti kedua endpoint dokumentasi dalam perintah ini:

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/

Layanan SOCKS harus dapat mencapai alamat dan port proxy HTTP. Proxy HTTP kemudian harus menerima permintaan tujuan. Jika proxy kedua memakai nama host, mode SOCKS pertama menentukan di mana nama itu di-resolve; endpoint numerik menghindari pencarian tersebut.

Menemukan hop yang gagal

Pastikan dahulu permintaan lewat setiap endpoint secara terpisah; untuk hop HTTP, gunakan pengujian proxy HTTP dengan batas waktu. Walaupun keduanya berfungsi, rute gabungan masih bisa gagal karena proxy pertama tidak dapat mencapai yang kedua.

Baca jejak terperinci sesuai urutan koneksi. Kegagalan SOCKS saat mencapai proxy kedua terjadi sebelum keputusan proxy HTTP menerima atau menolak CONNECT ke situs. Catat handshake mana yang gagal.

Kapan hop tambahan berguna

Susunan ini berguna saat proxy HTTP yang diizinkan dapat dijangkau melalui jalur SOCKS. Namun, susunan ini juga menambah layanan dan rute jaringan yang bisa gagal atau menambah jeda. Merangkai endpoint dari daftar proxy publik tidak menjamin keandalan atau anonimitas dan tetap memerlukan kepercayaan pada pihak yang menangani koneksi.

--preproxy memerlukan curl 7.52.0 atau lebih baru; aplikasi lain mungkin tidak mendukung susunan yang sama.

Artikel terkait