cURL-ის პროქსის პორტი და დანიშნულების პორტი
შეინახეთ HTTPS სერვისის პორტი მისი დანიშნულების URL-ში, ხოლო შუამავლის პორტი — პროქსის URL-ში, CURLOPT_PORT-ით მათ გადაფარვის გარეშე.
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 შემოწმების გამორთვისა.