এই PHP cURL অনুরোধ কোন প্রক্সি ব্যবহার করেছে?
কনফিগার করা প্রক্সি, সংযুক্ত পিয়ার এবং গন্তব্যটি যে সর্বজনীন নির্গমন দেখে তা আলাদা করুন।
PHP cURL অ্যাপ্লিকেশনে “প্রক্সি নিন” বলতে তিনটি আলাদা জিনিস বোঝাতে পারে। আরেকটি অনুরোধ যোগ করার আগে নির্ধারণ করুন কোন পর্যবেক্ষণ দরকার।
| প্রশ্ন | কোথায় দেখবেন |
|---|---|
| অ্যাপ্লিকেশন কোন এন্ডপয়েন্ট কনফিগার করেছিল? | হ্যান্ডেলকে দেওয়া কনফিগারেশন |
| এই স্থানান্তরে কি প্রক্সি ব্যবহার হয়েছে? | স্থানান্তর তথ্য, যেখানে সমর্থিত |
| ওয়েবসাইট কোন সর্বজনীন ঠিকানা দেখেছে? | সেই গন্তব্যে একটি পর্যবেক্ষণ |
নির্বাচিত এন্ডপয়েন্টটি হ্যান্ডেল বা অনুরোধ অবজেক্টের পাশে রাখুন। curl_getinfo স্থানান্তর-তথ্যের ইন্টারফেস, আগে নির্ধারিত প্রতিটি CURLOPT মানের জন্য সাধারণ গেটার নয়। curl_setopt কল আটকানোর চেষ্টার চেয়ে অ্যাপ্লিকেশনের কনফিগারেশন রাখা সহজ।
সম্পন্ন স্থানান্তরটি পরীক্ষা করুন
স্থানান্তরের পরে সংযুক্ত পিয়ার CURLINFO_PRIMARY_IP দিয়ে পাওয়া যায়। প্রথম সংযোগ প্রক্সিতে গেলে সেই পিয়ার ওয়েবসাইটের ঠিকানার বদলে প্রক্সির ঠিকানা হতে পারে।
$peer = curl_getinfo($ch, CURLINFO_PRIMARY_IP);
$usedProxy = defined('CURLINFO_USED_PROXY')
? curl_getinfo($ch, constant('CURLINFO_USED_PROXY'))
: null;
CURLINFO_USED_PROXY 8.7.0-এ libcurl-এ যোগ হয়েছে এবং উপযুক্ত PHP বিল্ডে পাওয়া যায়। এর ফলাফল প্রক্সি ব্যবহারের কথা জানায়, নির্বাচিত প্রক্সির সম্পূর্ণ URL নয়। ধ্রুবকটি না থাকলে উপরের null মানে পর্যবেক্ষণ পাওয়া যাচ্ছে না, অনুরোধ সরাসরি গেছে তা নয়।
এই মানগুলো তখনই পড়ুন যখন হ্যান্ডেল এখনও সংশ্লিষ্ট কাজটি বর্ণনা করছে। ব্যর্থ সংযোগ কাজে লাগার মতো পিয়ার ঠিকানা নাও দিতে পারে, আর প্রযোজ্য বাদ দিয়ে স্পষ্ট প্রক্সিও এড়ানো যেতে পারে।
একটি IP-যাচাই এন্ডপয়েন্ট তৃতীয় প্রশ্নের উত্তর দেয়। এর উত্তর প্রক্সির পিছনের নির্গমন বর্ণনা করতে পারে, অথচ কনফিগার করা হোস্টনেম অন্য প্রবেশপথে রিজলভ হয়। অ্যাপ্লিকেশনের সেটিংসে এক ঠিকানাকে অন্য দিয়ে প্রতিস্থাপন করা উচিত নয়।