ดึง HTTP URL ผ่านพร็อกซีด้วย PHP file_get_contents
กำหนดค่าตัวห่อสตรีม HTTP ของ PHP สำหรับพร็อกซีส่งต่อ รวมถึงรูปแบบคำขอและข้อจำกัดของบริบทสตรีม
สำหรับคำขอ HTTP ปกติที่ไม่ใช้ PHP cURL ให้ส่งบริบทพร็อกซีไปยังตัวห่อสตรีม HTTP:
$context = stream_context_create([
'http' => [
'proxy' => 'tcp://203.0.113.10:8080',
'request_fulluri' => true,
'timeout' => 10,
],
]);
$body = file_get_contents('http://example.com/', false, $context);แทนที่ปลายทางในเอกสารด้วยพร็อกซี HTTP ของคุณหรือผู้สมัครจาก รายการพร็อกซี HTTP. อินเทอร์เฟซบริบท HTTP คาดหวังที่อยู่ TCP สำหรับ proxy. request_fulluri=true วาง URI ปลายทางทั้งหมดในบรรทัดคำขอ ตามที่พร็อกซีส่งต่อหลายตัวต้องการ การหมดเวลาจำกัดการทำงานของสตรีมภายใต้กฎของตัวห่อนั้น
ตรวจสอบค่าที่ส่งคืนและคำเตือนก่อนแยกวิเคราะห์เนื้อหา การอ่านที่ล้มเหลวและการตอบกลับว่างที่สำเร็จต้องจัดการต่างกัน เริ่มการวินิจฉัยด้วยปลายทาง HTTP เดียวและคำขอที่มีขอบเขตนี้ HTTPS เพิ่มการ tunneling และพฤติกรรม TLS ที่ต้องตรวจสอบกับเวอร์ชันตัวห่อ/PHP จริง ตัวอย่างนี้ไม่ได้ยืนยันความสามารถเหล่านั้น
การส่งบริบท ณ การเรียกนี้ทำให้เส้นทางมองเห็นได้และหลีกเลี่ยงการเปลี่ยนการอ่าน URL ที่ไม่เกี่ยวข้อง บริบทเริ่มต้นที่ใช้ร่วมกันเหมาะสมเฉพาะเมื่อแอปพลิเคชันต้องการนโยบายนั้นโดยเจตนา ไลบรารีควรคำนึงถึงขอบเขตที่กว้างขึ้น
นี่กำหนดค่าสตรีม PHP ไม่ใช่ แฮนเดิล cURL ที่สร้างแยกต่างหาก เบราว์เซอร์ หรือโปรเซสอื่น ระบุการขนส่ง HTTP จริงของแพ็กเกจก่อนคาดหวังว่าจะใช้บริบทนี้