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 రవాణాను గుర్తించండి.

సంబంధిత వ్యాసాలు