8443 პორტზე არსებულ HTTPS სერვისზე წვდომა შესაძლებელია 8080 პორტზე არსებული HTTP პროქსის მეშვეობით. ეს რიცხვები სხვადასხვა კავშირს აღწერს:

$handle = curl_init('https://api.example:8443/status');
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);

შესრულება, შეცდომების დამუშავება და დესკრიპტორის სასიცოცხლო ციკლი კვლავ აპლიკაციის პასუხისმგებლობაა. კოდის ფრაგმენტი მარშრუტიზაციის პარამეტრებს ერთად ინახავს, სერტიფიკატის შემოწმების შეცვლის გარეშე.

cURL პირველად უკავშირდება proxy.example:8080-ს. ამ HTTPS დანიშნულებისთვის გვირაბის მოთხოვნა api.example:8443-ს ასახელებს, ხოლო TLS იდენტობა api.example რჩება.

CURLOPT_PORT დანიშნულების პორტის გადაფარვაა და არა პროქსის პორტი. მისი 443-ზე დაყენება ყოველ ჯერზე, როცა URL https-ით იწყება, შეიძლება გადაფაროს სერვისი, რომელიც განზრახ 8443-ზეა განთავსებული. libcurl გვირჩევს პორტი URL-ში ავირჩიოთ და არა ეს პარამეტრი გამოვიყენოთ.

დესკრიპტორის ხელახლა გამოყენებისას გაითვალისწინეთ ადრინდელი მკაფიო პორტის გადაფარვაც. ახალი URL არ აადვილებს წინააღმდეგობრივი შენახული პარამეტრების ინტერპრეტაციას.

შუამავალმა უნდა დაუშვას CONNECT არჩეულ დანიშნულების პორტზე. 8443-ისთვის უარი არ არის მიზეზი პროქსის მსმენელის გადატანისა ან TLS შემოწმების გამორთვისა.

დაკავშირებული სტატიები