ප්‍රොක්සි සත්‍යාපනයට තමන්ගේ cURL විකල්ප ඇත. අඩවි පිවිසුමට CURLOPT_USERPWD සැකසීම ප්‍රොක්සි ගිණුම නොසකසයි; CURLOPT_HTTPAUTH ප්‍රොක්සි සත්‍යාපන ක්‍රමයද නොතෝරයි.

<?php
$user = 'proxy-user';
$password = getenv('PROXY_PASSWORD');
if ($password === false) {
    throw new RuntimeException('Set PROXY_PASSWORD');
}

$ch = curl_init('https://example.com/');
curl_setopt_array($ch, [
    CURLOPT_PROXY => 'http://203.0.113.10:8080',
    CURLOPT_NOPROXY => '',
    CURLOPT_PROXYUSERPWD =>
        rawurlencode($user) . ':' . rawurlencode($password),
    CURLOPT_PROXYAUTH => CURLAUTH_BASIC,
    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;

ලේඛන IP වෙනස් කර එම ප්‍රොක්සියට දී ඇති දත්ත භාවිත කරන්න. උදාහරණයේ Basic හිතාමතා තෝරා ඇත; සෑම අන්ත ලක්ෂ්‍යයකටම අවශ්‍ය යැයි නොසිතා සේවාව සහාය දෙන හා අනුමත ක්‍රමය භාවිත කරන්න.

ඒකාබද්ධ ක්ෂේත්‍රයට කේතන නීතියක් ඇත

libcurl අනුව CURLOPT_PROXYUSERPWD පරිශීලක නම හා මුරපදය URL-විකේතනය කරයි. උදාහරණය සෑම කොටසක්ම වෙන්කරන ලකුණෙන් එක් කිරීමට පෙර කේතනය කරයි. දත්තවල අකුරු ලෙසම ඇති ප්‍රතිශත අනුක්‍රමයක් හෝ වෙනත් විශේෂ සලකුණක් නම් මෙය වැදගත්ය.

වෙන්වූ ප්‍රොක්සි පරිශීලක නම හා මුරපද විකල්ප තම අගයන් සෘජුව ගනී:

curl_setopt($ch, CURLOPT_PROXYUSERNAME, $user);
curl_setopt($ch, CURLOPT_PROXYPASSWORD, $password);

ඉල්ලීම ක්‍රියාත්මක කිරීමට පෙර ඒවා විකල්ප දත්ත ආකාරයක් ලෙස භාවිත කරන්න. ඒකාබද්ධ ප්‍රොක්සි ක්ෂේත්‍ර විකේතන නීතිය ස්වයංක්‍රීයව CURLOPT_USERPWDට නොයොදන්න; libcurl වෙනස සඳහන් කරයි.

සත්‍යාපන කොටස් වෙන්ව තබන්න

CURLOPT_PROXYAUTH ප්‍රොක්සි සත්‍යාපනයත් CURLOPT_HTTPAUTH ගමනාන්තය සමඟ HTTP සත්‍යාපනයත් තෝරයි. දෙදෙනාම පිවිසුම ඉල්ලයි නම් එක් එක් අයට සුදුසු විකල්ප සකසන්න, එකම දත්ත දෙතැනම පිටපත් නොකරන්න.

CURLAUTH_ANY සාකච්ඡාවට ඉඩ දී ක්‍රමය තේරීමට පෙර අභියෝග-ප්‍රතිචාර හුවමාරුවක් එක් කළ හැකිය. දත්ත නිවැරදියැයි එය ඔප්පු නොකරයි. තවත් Proxy-Authorization ශීර්ෂයක් අතින් එක් කිරීම පුස්තකාලයේ සත්‍යාපන හැසිරවීමට බාධා කළ හැකිය.

ප්‍රොක්සියට පැහැදිලි පෙළ සම්බන්ධතාවේ Basic දත්ත අඩවියේ පසුව එන TLS උමඟින් නොරැකේ. සත්‍යාපන සේවාව භාවිතයේ ක්‍රමය තෝරන විට ඒ හුවමාරුව වෙනම පරීක්ෂා කරන්න.

අදාළ ලිපි