curl’ning SOCKS’dan HTTP’ga proksi zanjiri
curl qo‘llaydigan SOCKS–HTTP zanjirini sozlang, oxirgi nuqtalar tartibini aniqlang va birlashtirishdan oldin har bosqichni sinang.
curl’ning --preproxy tanlovi HTTP yoki HTTPS proksiga yetishdan oldin SOCKS proksiga ulanadi. U proksi serverlarining ixtiyoriy ro‘yxatini emas, shu aniq zanjirni qo‘llaydi.
Yo‘l: mijoz → SOCKS oxirgi nuqtasi → HTTP proksi → nishon. Buyruqdagi ikkala hujjat oxirgi nuqtasini almashtiring:
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 xizmati HTTP proksining manzili va portiga yeta olishi kerak. Keyin HTTP proksi nishon so‘rovini qabul qilishi kerak. Ikkinchi proksi host nomidan foydalansa, birinchi SOCKS rejimi bu nom qayerda aniqlanishini belgilaydi; raqamli oxirgi nuqta bu qidiruvdan qochadi.
Muvaffaqiyatsiz bosqichni topish
Avval har oxirgi nuqta orqali so‘rovni alohida tasdiqlang; HTTP bosqichi uchun vaqt chegarali HTTP proksi sinovini ishlating. Ikkalasi ishlasa ham, birinchi proksi ikkinchisiga yeta olmagani sabab birlashgan yo‘l ishlamasligi mumkin.
Batafsil izni ulanish tartibida o‘qing. Ikkinchi proksiga yetishdagi SOCKS xatosi HTTP proksining saytga CONNECTni qabul yoki rad etish qaroridan oldin yuz beradi. Qaysi qo‘l siqish muvaffaqiyatsiz bo‘lganini yozing.
Qo‘shimcha bosqich qachon foydali
Ruxsat etilgan HTTP proksiga SOCKS yo‘li orqali yetish mumkin bo‘lsa, bu tuzilma foydali bo‘lishi mumkin. Ammo u ishlamay qolishi yoki kechikish qo‘shishi mumkin bo‘lgan yana bir xizmat va tarmoq yo‘lini qo‘shadi. Ommaviy proksi ro‘yxatidagi nuqtalarni zanjirlash ishonchlilik yoki anonimlikni kafolatlamaydi va ulanishni boshqaruvchi tomonlarga ishonchni hamon talab qiladi.
--preproxy uchun curl 7.52.0 yoki yangirog‘i kerak; boshqa ilovalar ayni tuzilmani qo‘llamasligi mumkin.