PHP တွင် ဆံပင်ကောက်ကောက်သည် ဆာဗာများအကြားတောင်းဆိုမှုများကိုပေးပို့ခြင်းနှင့် HTTP တောင်းဆိုမှုများကိုထိရောက်စွာကိုင်တွယ်နိုင်စွမ်းကိုပေးပို့ခြင်းအတွက်အလွန်အစွမ်းထက်သောစာကြည့်တိုက်ဖြစ်သည်။ ရှည်လျားသောဆက်သွယ်မှုများ, curl_setopt () နှင့်အခြား configuration options များသည်ဆက်သွယ်မှုတည်ငြိမ်မှုနှင့်စွမ်းဆောင်ရည်ကိုအလွန်တိုးတက်စေနိုင်သည်။
ဤဆောင်းပါးသည် Curl_setopt () ကို curl_setop () curl_upkeep () ကို မှန်ကန်စွာမည်သို့ပြင်ဆင်ရမည်ကိုဆွေးနွေးပါမည်။
curl_setopt () သည် PHP ဆံပင်ကောက်ကောက် function library တွင်အရေးကြီးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤရွေးချယ်စရာများကိုသတ်မှတ်ခြင်းအားဖြင့်သင်သည်တောင်းဆိုမှုနည်းလမ်း, အချိန်ကုန်အချိန်, တောင်းဆိုမှု header စသည့် HTTP တောင်းဆိုမှုများ၏အမျိုးမျိုးသောရှုထောင့်များကိုသင်ထိန်းချုပ်နိုင်သည်။
ဘုံ curl_setopt () configuration options များပါဝင်သည်:
curlopt_url : တောင်းဆိုထားသော URL ကိုသတ်မှတ်သည်။
curlopt_ruturntransfer : တုန့်ပြန်မှုရလဒ်ကိုတိုက်ရိုက်ထုတ်လွှင့်ခြင်းထက် string တစ်ခုအဖြစ်ပြန်လည်ပေးပို့ပါ။
curlopt_timeout : တောင်းဆိုမှုအချိန်ကိုသတ်မှတ်သည်။
curlopt_HttPeader : HTTP တောင်းဆိုမှုခေါင်းစဉ်ကိုသတ်မှတ်သည်။
curl_upkeep () သည်ရှည်လျားသောဆက်သွယ်မှုများကိုကိုင်တွယ်သောအခါဆံပင်ကောက်ကောက်အတွက် curl function ကိုအသုံးပြုသည်။ များသောအားဖြင့်မြဲမြဲဆက်သွယ်မှုတည်ငြိမ်မှုကိုထိန်းသိမ်းရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုသည်အချိန်ကာလတစ်ခုအတွင်းမသုံးသောအခါဆက်သွယ်မှုကိုမပိတ်နိုင်ပါ။
ပထမ ဦး စွာသင်သည်ဆံပင်ကောက်ကောက် session တစ်ခုစတင်ရန်နှင့် curl_init မှတဆင့် session ကိုကိုင်တွယ်ရန်လိုအပ်သည်။
$ch = curl_init();
နောက်တစ်ခုက URL, တောင်းဆိုမှုနည်းလမ်း, ဆက်သွယ်မှုအချိန်ကုန်စသည့်လိုအပ်သောရွေးချယ်စရာများကိုသတ်မှတ်ရန် curl_setop () ကို သုံးနိုင်သည်။
curl_setopt($ch, CURLOPT_URL, "https://m66.net/someapi");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer YOUR_ACCESS_TOKEN"
));
ရှည်လျားသောဆက်သွယ်မှုများ၏တည်ငြိမ်မှုကိုတိုးတက်စေရန် curl_upkeep () ကို တွဲ. အသုံးပြုနိုင်သည်။ ဤလုပ်ဆောင်မှုသည် session အတွင်းဆက်သွယ်မှုတည်ငြိမ်မှုကိုသေချာစေသည်။
curl_upkeep($ch);
ဤသည်ကတောင်းဆိုမှုများကိုမကြာခဏအဆက်ပြတ်ရွေ့ခြင်းနှင့်ပြန်လည်ချိတ်ဆက်ခြင်းမဟုတ်ကြောင်းသေချာစေရန်,
curl_exec () မှတဆင့်တောင်းဆိုမှုကို Execute လုပ်ပြီးပြန်လာသောတုန့်ပြန်မှုရလဒ်ကိုရယူပါ။
$response = curl_exec($ch);
if(curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
စစ်ဆင်ရေးအားလုံးပြီးစီးပြီးနောက်ဆံပင်ကောက်ကောက် session ကိုပိတ်ရန်သတိရပါ။
curl_close($ch);
ကောက်ကောက်၏တည်ငြိမ်မှုနှင့်စွမ်းဆောင်ရည်ကိုတိုးမြှင့်ရန်, အောက်ပါအကြံပြုချက်များကိုသင်ရည်ညွှန်းနိုင်သည်။
ရှည်လျားသောဆက်သွယ်မှုများအတွက်အချိန်ကုန်အချိန်ကိုတိုးမြှင့်ခြင်းသည်သင့်လျော်စွာတိုးပွားလာသည်။
curl_setopt($ch, CURLOPT_TIMEOUT, 60); // အချိန်ကိုတိုးမြှင့်
HTTP Keep - Live header သည်ဆာဗာကိုမြဲမြံသောဆက်သွယ်မှုကိုထိန်းသိမ်းရန်ဆာဗာကိုပြောပြသည်။
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Connection: keep-alive"
));
redirects ကြုံတွေ့ရသောအခါ redirects အများဆုံးအရေအတွက်ကိုထိန်းချုပ်ရန် curlopt_maxredirs option ကိုသုံးနိုင်သည်။
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
server ကိုတက်ကြွစွာဆက်ထိန်းထားရန် server သို့ပုံမှန်တောင်းဆိုမှုများကိုပုံမှန်ပေးပို့ပါ။ နှလုံးခုန်ခြင်းယန္တရားကို time ကိုအလုပ်တစ်ခုသို့မဟုတ်တိုတောင်းသောတောင်းဆိုမှုကြားကာလကို အသုံးပြု. အကောင်အထည်ဖော်နိုင်သည်။
// နမူနာ:တိုင်း5ဆက်သွယ်မှုကိုတက်ကြွစွာစောင့်ရှောက်ရန်မိနစ်ပိုင်းအတွင်းတောင်းဆိုမှုကိုပေးပို့ပါ
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://m66.net/heartbeat");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);