curl-ის SOCKS-იდან HTTP-მდე პროქსი-ჯაჭვი
მოაწყვეთ curl-ის მხარდაჭერილი SOCKS–HTTP ჯაჭვი, განსაზღვრეთ ბოლო წერტილების რიგი და გაერთიანებამდე ყოველი მონაკვეთი შეამოწმეთ.
curl-ის --preproxy პარამეტრი SOCKS პროქსის უკავშირდება HTTP ან HTTPS პროქსიმდე მისვლამდე. ის ამ კონკრეტულ ჯაჭვს უჭერს მხარს და არა პროქსი სერვერების თვითნებურ სიას.
გზაა კლიენტი → SOCKS ბოლო წერტილი → HTTP პროქსი → დანიშნულება. ბრძანებაში ორივე დოკუმენტაციის ბოლო წერტილი შეცვალეთ:
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 სერვისს HTTP პროქსის მისამართსა და პორტზე წვდომა უნდა ჰქონდეს. შემდეგ HTTP პროქსიმ დანიშნულების მოთხოვნა უნდა მიიღოს. თუ მეორე პროქსი ჰოსტის სახელითაა, პირველი SOCKS რეჟიმი განსაზღვრავს, სად ამოიხსნება ეს სახელი; რიცხვითი ბოლო წერტილი ამ ძიებას თავიდან იცილებს.
ჩავარდნილი მონაკვეთის პოვნა
ჯერ დაადასტურეთ მოთხოვნა თითოეული ბოლო წერტილით ცალ-ცალკე; HTTP მონაკვეთისთვის გამოიყენეთ დროით შეზღუდული HTTP პროქსის ტესტი. ორივე რომ მუშაობდეს, კომბინირებული გზა მაინც შეიძლება ჩავარდეს, რადგან პირველი პროქსი მეორეს ვერ აღწევს.
დეტალური კვალი კავშირების რიგით წაიკითხეთ. მეორე პროქსიმდე მისვლისას SOCKS შეცდომა ხდება HTTP პროქსის გადაწყვეტილებამდე, მიიღოს თუ უარყოს საიტისკენ CONNECT. ჩაიწერეთ, რომელი ხელის ჩამორთმევა ჩავარდა.
როდის გვეხმარება დამატებითი მონაკვეთი
ეს წყობა შეიძლება სასარგებლო იყოს, როცა ნებადართული HTTP პროქსი SOCKS გზით არის ხელმისაწვდომი. თუმცა ამატებს კიდევ ერთ სერვისსა და ქსელის გზას, რომლებიც შეიძლება ჩავარდეს ან დაყოვნება გაზარდოს. საჯარო პროქსების სიიდან ბოლო წერტილების ჯაჭვში ჩაბმა არ იძლევა საიმედოობის ან ანონიმურობის გარანტიას და კვლავ მოითხოვს ნდობას კავშირის დამმუშავებელი მხარეების მიმართ.
--preproxy მოითხოვს curl 7.52.0-ს ან ახალს; სხვა აპლიკაციებმა შეიძლება იგივე წყობა არ დაუჭირონ მხარი.