PHP cURL शिवाय सामान्य HTTP विनंतीसाठी, 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 कॉन्टेक्स्ट इंटरफेस proxy साठी TCP पत्ता अपेक्षित करतो. request_fulluri=true संपूर्ण गंतव्य URI विनंती ओळीत ठेवतो, जसे अनेक फॉरवर्ड प्रॉक्सी मागतात. टाइमआउट त्या रॅपरच्या नियमांनुसार स्ट्रीम क्रिया मर्यादित करतो.

बॉडी पार्स करण्यापूर्वी परत मिळालेले मूल्य आणि इशारा तपासा; अयशस्वी वाचन आणि रिकामा यशस्वी प्रतिसाद यांना वेगळी हाताळणी आवश्यक आहे. निदान या एका HTTP गंतव्यासह आणि मर्यादित विनंतीसह सुरू करा. HTTPS टनेलिंग आणि TLS वर्तन जोडते जे प्रत्यक्ष रॅपर/PHP आवृत्तीसाठी तपासावे लागते; हे उदाहरण ती क्षमता सिद्ध करत नाही.

या कॉलवर कॉन्टेक्स्ट देणे मार्ग दृश्यमान ठेवते आणि असंबंधित URL वाचन बदलणे टाळते. सामायिक डीफॉल्ट कॉन्टेक्स्ट तेव्हाच योग्य असतो जेव्हा ॲप्लिकेशन हेतुपुरस्सर ते धोरण इच्छिते; लायब्ररींनी त्याची व्यापक व्याप्ती लक्षात घ्यावी.

हे PHP स्ट्रीम कॉन्फिगर करते, स्वतंत्रपणे तयार केलेले cURL हँडल नाही, ब्राउझर किंवा दुसरी प्रक्रिया नाही. पॅकेज हा कॉन्टेक्स्ट वापरेल अशी अपेक्षा करण्यापूर्वी त्याचे प्रत्यक्ष HTTP वाहतुक शोधा.

संबंधित लेख