வலைத்தளத்தை 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 பிழை முடிவுடன் சேர்த்துப் படிக்கவும்.

தொடர்புடைய கட்டுரைகள்