ఒకే cURL బదిలీలో స్థానిక ఇంటర్ఫేస్ మరియు ప్రాక్సీని ఎంచుకోండి
స్థానిక మూలానికి CURLOPT_INTERFACE మరియు మధ్యవర్తికి CURLOPT_PROXY ఉపయోగించండి, OS రూటింగ్ మరియు NAT పరిగణనలోకి తీసుకొని.
అనేక స్థానిక చిరునామాలు ఉన్న మెషీన్కు ఫార్వర్డ్ ప్రాక్సీకి తన కనెక్షన్ కోసం వాటిలో ఒకటి అవసరం కావచ్చు. cURL రెండు ఎంపికలను స్పష్టంగా చేయగలదు:
curl_setopt_array($handle, [
CURLOPT_URL => 'https://example.com/',
CURLOPT_INTERFACE => '192.0.2.20',
CURLOPT_PROXY => 'http://proxy.example:8080',
]);
ఇది ఇప్పటికే ఉన్న cURL handle కోసం ఒక ఉదాహరణ కాన్ఫిగరేషన్. PHP అమలు చేస్తున్న మెషీన్లో నిజంగా అందుబాటులో ఉన్న మూల చిరునామాతో 192.0.2.20 ను భర్తీ చేయండి. ప్రాక్సీ ఖాతా లేకుండా అనుమతించబడిన పబ్లిక్ అభ్యర్థన కోసం, HTTP ప్రాక్సీ జాబితా ప్రాక్సీ విలువ కోసం రిమోట్ లిజనర్ను అందించగలదు.
CURLOPT_INTERFACE బయటకు వెళ్లే కనెక్షన్ యొక్క స్థానిక వైపును ఎంచుకుంటుంది. CURLOPT_PROXY అభ్యర్థనను ముందుకు తీసుకువెళ్లే మధ్యవర్తిని ఎంచుకుంటుంది. స్థానిక మూలాన్ని ఎంచుకోవడం ఆ మెషీన్ను రిమోట్ ప్రాక్సీగా మార్చదు, దానికి ఏకపక్ష పబ్లిక్ IP ఇవ్వదు.
ఈ మార్గంలో, స్థానిక ఎంపిక ప్రాక్సీ వైపు కనెక్షన్ను ప్రభావితం చేస్తుంది. వెబ్సైట్ సాధారణంగా ప్రాక్సీ యొక్క తదుపరి మూల చిరునామాను చూస్తుంది. ఏ జత మధ్యనైనా NAT ప్రతి గ్రహీత చూసే చిరునామాను మరింత అనువదించగలదు.
ఇంటర్ఫేస్ ఎంపికను వదిలేస్తే, libcurl సరైన మూలాన్ని ఎంచుకోవడానికి TCP స్టాక్ను అనుమతిస్తుంది. ఆ ఎంపిక మెషీన్ నెట్వర్కింగ్ కాన్ఫిగరేషన్ను అనుసరిస్తుంది; కాన్ఫిగరేషన్ ఫైల్లో మొదటి చిరునామా గెలుస్తుందనేది సార్వత్రిక నియమం కాదు.
libcurl మద్దతు ఉన్న ప్లాట్ఫారమ్లలో ఇంటర్ఫేస్ పేర్లను అంగీకరిస్తుంది, కానీ ఈ ఎంపిక కోసం Windows ఇంటర్ఫేస్ పేరు ఎంపికను దాని డాక్యుమెంటేషన్ మినహాయిస్తుంది. hostname ఉపయోగించడం నిరోధించే శోధనను కూడా ప్రేరేపించవచ్చు. అప్లికేషన్ ఉద్దేశించిన ఎంపిక అదే అయితే తెలిసిన స్థానిక చిరునామా మరింత స్పష్టమైన ఇన్పుట్.