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 ত্ৰুটি ফলৰ সৈতে চাওক।