สำหรับคำขอ 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 จริงของแพ็กเกจก่อนคาดหวังว่าจะใช้บริบทนี้

บทความที่เกี่ยวข้อง