เลือกอินเทอร์เฟซภายในและพร็อกซีในการถ่ายโอน cURL ครั้งเดียวกัน
ใช้ CURLOPT_INTERFACE สำหรับต้นทางภายในและ CURLOPT_PROXY สำหรับตัวกลาง โดยคำนึงถึงการกำหนดเส้นทางของ OS และ NAT
เครื่องที่มีที่อยู่ภายในหลายแห่งอาจต้องใช้หนึ่งในนั้นสำหรับการเชื่อมต่อกับพร็อกซีต้นทาง cURL สามารถเลือกทั้งสองอย่างได้อย่างชัดเจน:
curl_setopt_array($handle, [
CURLOPT_URL => 'https://example.com/',
CURLOPT_INTERFACE => '192.0.2.20',
CURLOPT_PROXY => 'http://proxy.example:8080',
]);
นี่คือการกำหนดค่าตัวอย่างสำหรับ handle ของ cURL ที่มีอยู่แล้ว แทนที่ 192.0.2.20 ด้วยที่อยู่ต้นทางที่พร้อมใช้งานจริงบนเครื่องที่รัน PHP สำหรับคำขอสาธารณะที่ได้รับอนุญาตโดยไม่มีบัญชีพร็อกซี รายการพร็อกซี HTTP สามารถจัดหาตัวรับฟังระยะไกลสำหรับค่าพร็อกซีได้
CURLOPT_INTERFACE เลือกฝั่งภายในของการเชื่อมต่อขาออก CURLOPT_PROXY เลือกตัวกลางที่นำคำขอไปต่อ การเลือกต้นทางภายในไม่ได้ทำให้เครื่องนั้นกลายเป็นพร็อกซีระยะไกลหรือให้ IP สาธารณะโดยพลการแก่เครื่อง
บนเส้นทางนี้ การเลือกภายในมีผลต่อการเชื่อมต่อไปยังพร็อกซี เว็บไซต์โดยทั่วไปจะเห็นที่อยู่ต้นทางถัดไปของพร็อกซี NAT ระหว่างคู่ใด ๆ อาจแปลที่อยู่ที่ผู้รับแต่ละรายเห็นเพิ่มเติม
หากไม่ระบุการเลือกอินเทอร์เฟซ libcurl จะให้สแตก TCP เลือกต้นทางที่เหมาะสม การเลือกนั้นเป็นไปตามการกำหนดค่าเครือข่ายของเครื่อง ไม่ใช่กฎสากลว่าที่อยู่แรกในไฟล์กำหนดค่าจะชนะ
libcurl ยอมรับชื่ออินเทอร์เฟซบนแพลตฟอร์มที่รองรับ แต่เอกสารของมันยกเว้นการเลือกชื่ออินเทอร์เฟซของ Windows สำหรับตัวเลือกนี้ การใช้ hostname อาจทำให้เกิดการค้นหาที่บล็อกได้ ที่อยู่ภายในที่รู้จักเป็นข้อมูลนำเข้าที่ชัดเจนกว่าเมื่อนั่นคือสิ่งที่แอปพลิเคชันตั้งใจเลือก