PHP cURL-ত প্ৰক্সি প্ৰমাণীকৰণ বিকল্প
সঠিক cURL বিকল্পেৰে প্ৰক্সিৰ প্ৰৱেশ তথ্য দিয়ক আৰু গন্তব্য প্ৰমাণীকৰণ নসলাই সংযুক্ত ক্ষেত্ৰৰ URL ডিকোডিং সামলাওক।
প্ৰক্সি প্ৰমাণীকৰণৰ নিজা 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 টানেলে সুৰক্ষিত নকৰে। প্ৰমাণীকৰণযুক্ত সেৱা ব্যৱহাৰ বাছোঁতে সেই পৰিবহণ পৃথকে চাওক।