වෙබ් අඩවිය 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 දෝෂ ප්‍රතිඵලය සමඟ කියවන්න.

අදාළ ලිපි