ப்ராக்ஸி அங்கீகாரத்துக்குத் தனி 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 சுரங்கம் பாதுகாக்காது. அங்கீகாரச் சேவையைப் பயன்படுத்தும் வழியைத் தேர்ந்தெடுக்கும்போது அந்தப் பரிமாற்றத்தை தனியாகச் சோதிக்கவும்.

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