PHP cURLతో ప్రాక్సీ IP వాడండి
PHP cURL హ్యాండిల్లో HTTP లేదా SOCKS ప్రాక్సీ సెట్ చేసి, వెబ్సైట్ URLను విడిగా ఉంచి, రవాణా లోపాలను HTTP ప్రతిస్పందనల నుంచి వేరు చేయండి.
వెబ్సైట్ను curl_init()లో ఉంచి మధ్యవర్తిని అదే హ్యాండిల్పై సెట్ చేయండి. PHPకి cURL ఎక్స్టెన్షన్ కావాలి; టెర్మినల్లో పని చేసే curl ప్రోగ్రామ్ ఎక్స్టెన్షన్ అందుబాటును నిరూపించదు.
<?php
$ch = curl_init('https://example.com/');
curl_setopt_array($ch, [
CURLOPT_PROXY => 'http://203.0.113.10:8080',
CURLOPT_PROXYTYPE => CURLPROXY_HTTP,
CURLOPT_NOPROXY => '',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_TIMEOUT => 15,
]);
$body = curl_exec($ch);
if ($body === false) {
throw new RuntimeException(curl_error($ch), curl_errno($ch));
}
echo curl_getinfo($ch, CURLINFO_RESPONSE_CODE), PHP_EOL;
echo $body;పత్రంలోని IP, పోర్టును మీ HTTP ప్రాక్సీ లేదా HTTP ప్రాక్సీల జాబితాలోని నమోదుతో మార్చండి. CURLOPT_NOPROXY ఈ పరీక్షకు బైపాస్ నియమాలను తొలగిస్తుంది; CURLOPT_RETURNTRANSFER బాడీని బ్రౌజర్కు పంపకుండా తిరిగి ఇస్తుంది. కనెక్షన్ పరిమితి ఏర్పాటును, మొత్తం సమయ పరిమితి cURL చర్యను నియంత్రిస్తుంది.
SOCKS5 ఎండ్పాయింట్ కోసం HTTP ప్రాక్సీ ఎంపికలను curl_exec()కు ముందు మార్చండి:
curl_setopt($ch, CURLOPT_PROXY, '203.0.113.10:1080');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);CURLPROXY_SOCKS5_HOSTNAME గమ్య DNSను SOCKS సర్వర్కు అప్పగిస్తుంది. పేర్కొన్న ప్రోటోకాల్ వాడండి; పోర్టు 1080 ఒక్కటే దానిని గుర్తించదు. ఏ ప్రాక్సీ ఎంపికకూ సైట్ సర్టిఫికెట్ ధృవీకరణ ఆపాల్సిన అవసరం లేదు.
$body === falseను కఠినంగా పరీక్షించండి. ఖాళీ బాడీ విజయవంతమైన బదిలీ కావచ్చు; సైట్ నుంచి ఏ ప్రతిస్పందన రాకముందే టన్నెల్ విఫలం కావచ్చు. మరోవైపు ఖాళీ కాని బాడీతో 403, 404 లేదా 429 రావచ్చు. పూర్తయిన అభ్యర్థన మీ పని చేస్తుందో నిర్ణయించడానికి CURLINFO_RESPONSE_CODEను cURL లోప ఫలితంతో కలిపి చదవండి.