คำขอ PHP cURL นี้ใช้พร็อกซีใด
แยกแยะพร็อกซีที่กำหนดค่าไว้ เพียร์ที่เชื่อมต่อ และทางออกสาธารณะที่ปลายทางมองเห็น
ในแอปพลิเคชัน PHP cURL คำว่า “รับพร็อกซี” อาจหมายถึงสามสิ่งที่แตกต่างกัน ตัดสินใจว่าต้องการการสังเกตแบบใดก่อนเพิ่มคำขออื่น
| คำถาม | ดูที่ใด |
|---|---|
| แอปพลิเคชันกำหนดค่าจุดปลายทางใด | การกำหนดค่าที่ให้กับแฮนเดิล |
| มีการใช้พร็อกซีสำหรับการถ่ายโอนนี้หรือไม่ | ข้อมูลการถ่ายโอน ในกรณีที่รองรับ |
| เว็บไซต์เห็นที่อยู่สาธารณะใด | การสังเกต ณ ปลายทางนั้น |
เก็บจุดปลายทางที่เลือกไว้ข้างแฮนเดิลหรือออบเจ็กต์คำขอ. curl_getinfo เป็นอินเทอร์เฟซข้อมูลการถ่ายโอน ไม่ใช่ตัวดึงข้อมูลทั่วไปสำหรับทุกค่า CURLOPT ที่กำหนดไว้ก่อนหน้า การเก็บการกำหนดค่าของแอปพลิเคชันไว้ง่ายกว่าการพยายามดักจับการเรียก curl_setopt
ตรวจสอบการถ่ายโอนที่เสร็จสิ้น
หลังการถ่ายโอน เพียร์ที่เชื่อมต่อสามารถเข้าถึงได้ผ่าน CURLINFO_PRIMARY_IP เมื่อการเชื่อมต่อแรกไปยังพร็อกซี เพียร์นั้นอาจเป็นที่อยู่ของพร็อกซีแทนที่จะเป็นที่อยู่ของเว็บไซต์
$peer = curl_getinfo($ch, CURLINFO_PRIMARY_IP);
$usedProxy = defined('CURLINFO_USED_PROXY')
? curl_getinfo($ch, constant('CURLINFO_USED_PROXY'))
: null;
CURLINFO_USED_PROXY ถูกเพิ่มใน libcurl เมื่อ 8.7.0 และเปิดให้ใช้โดยบิลด์ PHP ที่เข้ากันได้ ผลลัพธ์รายงานการใช้พร็อกซี ไม่ใช่ URL เต็มของพร็อกซีที่เลือก หากไม่มีค่าคงที่ null ข้างต้นหมายความว่าการสังเกตไม่พร้อมใช้งาน ไม่ใช่คำขอไปโดยตรง
อ่านค่าเหล่านี้ในขณะที่แฮนเดิลยังอธิบายการดำเนินการที่เกี่ยวข้อง การเชื่อมต่อที่ล้มเหลวอาจไม่ให้ที่อยู่เพียร์ที่เป็นประโยชน์ และพร็อกซีที่ระบุชัดเจนก็ยังอาจถูกข้ามด้วยข้อยกเว้นที่ใช้บังคับ
จุดปลายทางตรวจสอบ IP ตอบคำถามข้อที่สาม. คำตอบอาจอธิบายทางออกที่อยู่หลังพร็อกซี ขณะที่ชื่อโฮสต์ที่กำหนดค่าไว้แก้ไขไปยังทางเข้าอื่น ไม่ควรแทนที่ที่อยู่หนึ่งด้วยอีกที่อยู่ในตั้งค่าของแอปพลิเคชัน