PHP သည် http တောင်းဆိုမှုများ ကို HTTP တောင်းဆိုမှုများကိုအလွယ်တကူပို့နိုင်သည်။ ဆံပင်ကောက်ကောက် သည် HTTP တောင်းဆိုမှုများတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသောအစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုများကိုရိုးရှင်းစေရန် PHP သည်အချို့သောလုပ်ဆောင်ချက်များကိုထောက်ပံ့ပေးသည်, အရေးအကြီးဆုံးမှာ curl_init () ဖြစ်သည်။ ၎င်းကိုကျွန်ုပ်တို့အားတောင်းဆိုမှုများကိုစတင်ပို့လွှတ်ခြင်းစသည့်ဆံပင်ကောက်ကောက် session တစ်ခုကိုစတင်ရန်အသုံးပြုသည်။
ဤဆောင်းပါးတွင် HTTP တောင်းဆိုမှုများကို curl_setal () , curl_exec (curl_exec () နှင့်အခြားလုပ်ဆောင်မှုများကိုပေါင်းစပ်ရန် Curl_init () ကို မည်သို့အသုံးပြုရမည်ကိုပြသပါမည်။
ဆံပင်ကောက်ကောက်ကို သုံး. တောင်းဆိုမှုမပို့မီကျွန်ုပ်တို့သည်ဆံပင်ကောက်ကောက်တစ်ခုစတင်ရန်လိုအပ်သည်။ PHP သည် curl_init () function ကိုအစပြုရန် curl_init () function ကိုထောက်ပံ့ပေးသည်။
<?php
// တစ် ဦး ကန ဦး cURL ရုံးထိုင်အချိန်ကာလ
$ch = curl_init();
?>
ဤအချိန်တွင် curl_init မှပြန်လာသော $ ch variable သည် curl_init မှပြန်လာသော curl လက်ကိုင်ဖြစ်သည်။ ထို့နောက်ကျွန်ုပ်တို့သည်ဤလက်ကိုင်မှတဆင့်တောင်းဆိုထားသောရွေးစရာအချို့ကို configure လုပ်နိုင်သည်။
curl_setopt () function ကို သုံး. ကျွန်ုပ်တို့သည်ဆံပင်ကောက်ကောက်များအဘို့အမျိုးမျိုးအတွက်ရွေးချယ်စရာများကိုသတ်မှတ်နိုင်သည်။ အသုံးအများဆုံးရွေးချယ်စရာများမှာတောင်းဆိုမှု url, တောင်းဆိုမှုနည်းလမ်း, header header အချက်အလက်များစသည်တို့ကိုသတ်မှတ်ရန်ဖြစ်သည်။
တောင်းဆိုထားသောပစ်မှတ် URL ကိုသတ်မှတ်ရန်သင် curlopt_URL option ကိုသုံးနိုင်သည်။
// သတ်မှတ်ထားတဲ့ set URL
curl_setopt($ch, CURLOPT_URL, "http://gitbox.net/example");
ပုံမှန်အားဖြင့် curl_exec () function သည်တောင်းဆိုထားသောရလဒ်ကို browser သို့တိုက်ရိုက်ထုတ်ပေးလိမ့်မည်။ အကယ်. ကျွန်ုပ်တို့သည်တောင်းဆိုမှုကိုတိုက်ရိုက်ထုတ်လွှပိုင်ခွင့်ကိုရလိုပါက၎င်းကိုတိုက်ရိုက်ထုတ်လွှင့်မှုအစား curlopt_Returntransfer မှတစ်ဆင့်၎င်းကိုထိန်းချုပ်နိုင်သည်။
// တိုက်ရိုက် output မပါဘဲပြန်လာအကြောင်းအရာကိုသတ်မှတ်ပါ
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
ဆံပင်ကောက်ကောက်သည် Get , Post , ထည့်ခြင်း စသည်တို့ကဲ့သို့သော HTTP နည်းလမ်းများကိုထောက်ပံ့သည်။ သင် post နည်းလမ်းကိုအသုံးပြုလိုပါက curlopt_post မှတဆင့်သင်သတ်မှတ်နိုင်သည်။
// တောင်းဆိုမှုကိုနည်းလမ်းကိုသတ်မှတ်ပါ POST
curl_setopt($ch, CURLOPT_POST, true);
// တည်ဆောက်သည် POST အချက်များ
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'username' => 'testuser',
'password' => 'testpassword'
]));
သင်စိတ်ကြိုက် HTTP ခေါင်းစီးများသတ်မှတ်ရန်လိုအပ်ပါက curlopt_htpheader option ကိုသုံးနိုင်သည်။
// တည်ဆောက်သည်自定义的 HTTP ဉီးခေါင်း
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/x-www-form-urlencoded',
'Authorization: Bearer token_value'
]);
ရွေးချယ်မှုများအားလုံးကိုပြုပြင်ပြီးနောက်သင်တောင်းဆိုမှုကိုအကောင်အထည်ဖော်ရန်နှင့်တုန့်ပြန်မှုကိုရယူရန် curl_exec () function ကိုသုံးနိုင်သည်။ ဒီ function ကိုတောင်းဆိုထားသောရလဒ်ပြန်ပို့။ အမှားအယွင်းမရှိပါကပြန်လာသောရလဒ်သည်ပစ်မှတ် URL ၏တုန့်ပြန်မှုအကြောင်းအရာဖြစ်သည်။
// တောင်းဆိုမှုကို execute နှင့်တုံ့ပြန်မှုရလဒ်ကိုရယူပါ
$response = curl_exec($ch);
// တောင်းဆိုမှုကိုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($response === false) {
echo "cURL အမှား:" . curl_error($ch);
} else {
echo "တောင်းဆိုမှုအောင်မြင်ခဲ့,တုံ့ပြန်မှုအကြောင်းအရာ:" . $response;
}
တောင်းဆိုမှုပြီးဆုံးသွားသောအခါ curl session ကိုအရင်းအမြစ်အခမဲ့ကင်းစင်စေရန်ပိတ်ထားသင့်သည်။ အထူးသဖြင့်တောင်းဆိုမှုများစွာကိုကိုင်တွယ်သည့်အရာများစွာကိုကိုင်တွယ်သည့်အခါအလေ့အကျင့်ကောင်းများသည်ကောင်းမွန်သောအလေ့အထကောင်းတစ်ခုဖြစ်သည်။
// ရုပ်သိမ်းခြင်း cURL ရုံးထိုင်အချိန်ကာလ
curl_close($ch);
ဤနေရာတွင်အစအ ဦးများ ကိုစတင်ရန်, ရွေးချယ်စရာများပေးပို့ရန်,
<?php
// ဖြစ်ပေါ်လာခြင်း cURL ရုံးထိုင်အချိန်ကာလ
$ch = curl_init();
// သတ်မှတ်ထားတဲ့ set URL
curl_setopt($ch, CURLOPT_URL, "http://gitbox.net/example");
// တိုက်ရိုက် output မပါဘဲပြန်လာအကြောင်းအရာကိုသတ်မှတ်ပါ
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// တောင်းဆိုမှုကိုနည်းလမ်းကိုသတ်မှတ်ပါ POST
curl_setopt($ch, CURLOPT_POST, true);
// တည်ဆောက်သည် POST အချက်များ
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'username' => 'testuser',
'password' => 'testpassword'
]));
// တည်ဆောက်သည်自定义的 HTTP ဉီးခေါင်း
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/x-www-form-urlencoded',
'Authorization: Bearer token_value'
]);
// တောင်းဆိုမှုကို execute နှင့်တုံ့ပြန်မှုရလဒ်ကိုရယူပါ
$response = curl_exec($ch);
// တောင်းဆိုမှုကိုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($response === false) {
echo "cURL အမှား:" . curl_error($ch);
} else {
echo "တောင်းဆိုမှုအောင်မြင်ခဲ့,တုံ့ပြန်မှုအကြောင်းအရာ:" . $response;
}
// ရုပ်သိမ်းခြင်း cURL ရုံးထိုင်အချိန်ကာလ
curl_close($ch);
?>