Pilihan --preproxy curl menyambung ke proksi SOCKS sebelum mencapai proksi HTTP atau HTTPS. Ia menyokong rantaian khusus ini, bukannya senarai sebarang pelayan proksi.

Laluannya ialah klien → titik akhir SOCKS → proksi HTTP → destinasi. Gantikan kedua-dua titik akhir dokumentasi dalam arahan 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/

Perkhidmatan SOCKS mesti boleh mencapai alamat dan port proksi HTTP. Proksi HTTP kemudian mesti menerima permintaan destinasi. Jika proksi kedua menggunakan nama hos, mod SOCKS pertama menentukan tempat nama itu diselesaikan; titik akhir berangka mengelakkan carian tersebut.

Mencari hop yang gagal

Sahkan dahulu permintaan melalui setiap titik akhir secara berasingan; bagi hop HTTP gunakan ujian proksi HTTP dengan had masa. Walaupun kedua-duanya berfungsi, laluan gabungan masih boleh gagal kerana proksi pertama tidak dapat mencapai yang kedua.

Baca jejak terperinci mengikut susunan sambungan. Kegagalan SOCKS ketika mencapai proksi kedua berlaku sebelum keputusan proksi HTTP untuk menerima atau menolak CONNECT ke laman. Catat jabat tangan yang gagal.

Bila hop tambahan membantu

Susunan ini boleh berguna apabila proksi HTTP yang dibenarkan boleh dicapai melalui laluan SOCKS. Ia juga menambah satu perkhidmatan dan laluan rangkaian yang boleh gagal atau menambah kelewatan. Merantaikan titik akhir daripada senarai proksi awam tidak menjamin kebolehpercayaan atau kerahsiaan identiti dan masih memerlukan kepercayaan pada pihak yang mengendalikan sambungan.

--preproxy memerlukan curl 7.52.0 atau lebih baharu; aplikasi lain mungkin tidak menyokong susunan sama.

Artikel berkaitan