የፕሮክሲ ማረጋገጫ የራሱ 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 ዋሻ አይጠበቁም። ማረጋገጫ ያለውን አገልግሎት እንዴት እንደሚጠቀሙ ሲመርጡ ያንን ማስተላለፍ በተለየ ይፈትሹ።

ተዛማጅ ጽሑፎች