ဤ PHP cURL တောင်းဆိုချက်က မည်သည့် proxy ကို အသုံးပြုခဲ့သနည်း?
ပြင်ဆင်ထားသော proxy၊ ချိတ်ဆက်ထားသော peer နှင့် ဦးတည်ရာက မြင်သော အများသူငှာ ထွက်ပေါက်တို့ကို ခွဲခြားပါ။
PHP cURL အပလီကေးရှင်းတွင် “proxy ယူသည်” ဆိုသည်မှာ မတူညီသော အရာသုံးမျိုးကို ဆိုလိုနိုင်သည်။ နောက်ထပ် တောင်းဆိုချက် မထည့်မီ မည်သည့် လေ့လာချက် လိုအပ်သည်ကို ဆုံးဖြတ်ပါ။
| မေးခွန်း | ဘယ်နေရာတွင် ကြည့်မည် |
|---|---|
| အပလီကေးရှင်းက မည်သည့် အဆုံးမှတ်ကို ပြင်ဆင်ခဲ့သနည်း? | handle သို့ ပေးထားသော ဖွဲ့စည်းမှု |
| ဤကူးပြောင်းမှုအတွက် proxy အသုံးပြုခဲ့ပါသလား? | ပံ့ပိုးသော အခြေအနေတွင် ကူးပြောင်းမှု အချက်အလက် |
| ဝက်ဘ်ဆိုက်က မည်သည့် အများသူငှာ လိပ်စာကို မြင်ခဲ့သနည်း? | ထို ဦးတည်ရာတွင် လေ့လာချက်တစ်ခု |
ရွေးချယ်ထားသော အဆုံးမှတ်ကို handle သို့မဟုတ် တောင်းဆိုချက် အရာဝတ္ထုနှင့် အတူ သိမ်းထားပါ। curl_getinfo သည် ကူးပြောင်းမှု အချက်အလက် အင်တာဖေ့စ်ဖြစ်ပြီး ယခင်က သတ်မှတ်ခဲ့သော CURLOPT တန်ဖိုးတိုင်းအတွက် အထွေထွေ ရယူကိရိယာ မဟုတ်ပါ။ curl_setopt ခေါ်ဆိုမှုများကို ကြားဖြတ်ရန် ကြိုးစားခြင်းထက် အပလီကေးရှင်း ဖွဲ့စည်းမှုကို သိမ်းထားခြင်းက ပိုလွယ်သည်။
ပြီးစီးသော ကူးပြောင်းမှုကို စစ်ဆေးပါ
ကူးပြောင်းမှု အပြီးတွင် ချိတ်ဆက်ထားသော peer ကို CURLINFO_PRIMARY_IP ဖြင့် ရယူနိုင်သည်။ ပထမ ချိတ်ဆက်မှုက proxy သို့ သွားသောအခါ ထို peer သည် ဝက်ဘ်ဆိုက်၏ လိပ်စာမဟုတ်ဘဲ proxy ၏ လိပ်စာ ဖြစ်နိုင်သည်။
$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 build များက ဖော်ထုတ်ပေးသည်။ ၎င်း၏ ရလဒ်သည် proxy အသုံးပြုမှုကို အစီရင်ခံသည်၊ ရွေးချယ်ထားသော proxy ၏ အပြည့်အစုံ URL မဟုတ်ပါ။ ကိန်းသေ မရရှိနိုင်ပါက အထက်ပါ null သည် လေ့လာချက် မရရှိနိုင်ခြင်းကို ဆိုလိုသည်၊ တောင်းဆိုချက် တိုက်ရိုက် သွားခဲ့သည်ဟု မဆိုလိုပါ။
handle သည် သက်ဆိုင်ရာ လုပ်ဆောင်ချက်ကို ဖော်ပြနေစဉ် ဤတန်ဖိုးများကို ဖတ်ပါ။ မအောင်မြင်သော ချိတ်ဆက်မှုသည် အသုံးဝင်သော peer လိပ်စာကို မပေးနိုင်ပြီး ရှင်းလင်းသော proxy ကို သက်ဆိုင်သော ခြွင်းချက်ဖြင့် ရှောင်ကွင်းနိုင်သေးသည်။
IP စစ်ဆေးသည့် အဆုံးမှတ်က တတိယ မေးခွန်းကို ဖြေသည်။ ၎င်း၏ အဖြေသည် proxy နောက်ကွယ်ရှိ ထွက်ပေါက်ကို ဖော်ပြနိုင်ပြီး ပြင်ဆင်ထားသော hostname သည် အခြား ဝင်ပေါက်သို့ ဖြေရှင်းသည်။ အပလီကေးရှင်း၏ ဆက်တင်များတွင် လိပ်စာတစ်ခုကို အခြားတစ်ခုဖြင့် အစားထိုးသင့်မည် မဟုတ်ပါ။