PHP တွင်ဆံပင်ကောက်ကောက်သည်သင့်အားတောင်းဆိုမှုများကိုပေးပို့ခြင်းနှင့် URL များမှတုန့်ပြန်မှုများလက်ခံရရှိရန်ခွင့်ပြုသည့်အလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဆံပင်ကောက်ကောက်မှတစ်ဆင့်သင်သည် HTTP တောင်းဆိုမှုများကိုရခြင်း, တင်ခြင်း,
$ch = curl_init(); // ဖြစ်ပေါ်လာခြင်း cURL ရုံးထိုင်အချိန်ကာလ
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/your-api-endpoint"); // တောင်းဆိုမှုကို set up URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // တစ် ဦး string ကိုအဖြစ်ပြန်လာတုံ့ပြန်မှုကိုသတ်မှတ်ပါ
// ဖြစ်လာခဲ့လျှင် POST မေးမြန်း,တည်ဆောက်သည် POST အချက်များ
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['key' => 'value']));
$response = curl_exec($ch); // 执行မေးမြန်း并获取တုံ့ပြန်ချက်
curl_close($ch); // ရုပ်သိမ်းခြင်း cURL ရုံးထိုင်အချိန်ကာလ
အထက်ပါကုဒ်တွင် curl_exec ကို အသုံးပြု. Curl session ကိုပိတ်ရန်တောင်းဆိုမှုကိုကွပ်မျက်ရန်တောင်းဆိုပြီးနောက် curl_close ဟုခေါ်သည်။
curl_close ကို မခေါ်မီ PHP သည် curl_exec ဟုခေါ်ဆိုပြီးနောက်တောင်းဆိုမှုတုံ့ပြန်မှုကိုစောင့်ဆိုင်းလိမ့်မည်။ ထို့ကြောင့် curl_exec သည် အောင်မြင်စွာလုပ်ဆောင်နိုင်သမျှကာလပတ်လုံး Post ကိုတောင်းဆိုထားသောအချက်အလက်များကိုပို့လိုက်သည်။ သို့သော်, ဆက်သွယ်မှုကိုမပိတ်မီတောင်းဆိုမှုကိုလုံးဝမပိတ်မီတောင်းဆိုမှုကိုသေချာစေရန်အရေးကြီးသည်။
Post တောင်းဆိုမှုကိုဒေတာကိုလုံးဝပေးပို့ပြီးပုံမှန်အားဖြင့် connection ကိုပုံမှန်အားဖြင့်ပိတ်ထားရန်သေချာစေရန် Curl_getinfo ကို သုံးနိုင်သည်။
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/your-api-endpoint");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['key' => 'value']));
$response = curl_exec($ch);
// 获取မေးမြန်း的详细信息
$info = curl_getinfo($ch);
if ($info['http_code'] == 200) {
// ထုတ်ယူခြင်းတုံ့ပြန်မှု
echo "POST မေးမြန်း已成功发送,တုံ့ပြန်ချက်:$response";
} else {
echo "မေးမြန်း失败,HTTP အခြေအနေကုဒ်:" . $info['http_code'];
}
curl_close($ch);
curl_getinfo မှတစ်ဆင့်ရရှိသော http_code သတင်းအချက်အလက်သည်တောင်းဆိုမှုကိုအောင်မြင်စွာပို့ခြင်းရှိမရှိဆုံးဖြတ်ရန်ကူညီနိုင်သည်။ အကယ်. HTTP status code သည် 200 ဖြစ်လျှင် (တောင်းဆိုမှုသည်အောင်မြင်ကြောင်းညွှန်ပြသည်) ဆိုပါက Post တောင်းဆိုမှုကိုလုံးဝပေးပို့နိုင်သည်ကိုဆုံးဖြတ်နိုင်သည်။
တစ်ခါတစ်ရံတွင် Post တောင်းဆိုမှုကိုပေးပို့သည့်အခါ connection timeout သို့မဟုတ်အခြား network ပြ problems နာများကိုသင်တွေ့ကြုံခံစားနိုင်သည်။ ဤကိစ္စတွင် curl_setop ကို အသုံးပြု. အချိန်ကုန် parameter ကိုသတ်မှတ်ရန်အလွန်အရေးကြီးသည်။
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/your-api-endpoint");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['key' => 'value']));
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // တည်ဆောက်သည်超时为 30 စက်ဏန့်
$response = curl_exec($ch);
// အမှားများကိုကိုင်တွယ်
if (curl_errno($ch)) {
echo "cURL အမှား: " . curl_error($ch);
} else {
echo "တုံ့ပြန်ချက်: $response";
}
curl_close($ch);
curlopt_Timeout ကို ချိန်ညှိခြင်းကတောင်းဆိုမှုသည်ကျိုးကြောင်းဆီလျော်သောအချိန်အတွင်းပြီးစီးခဲ့သည်နှင့်အချိန်ကုန်ကိုချက်ချင်းတောင်းဆိုမှုကိုရပ်တန့်သွားလိမ့်မည်။
တစ်ခုချင်းစီကိုကောက်ကောက်တောင်းဆိုမှုပြီးသွားပြီးနောက် curl_close လို့ခေါ်ဖို့အရမ်းအရေးကြီးတယ်။ ၎င်းသည် curl နှင့်ဆက်စပ်သောအရင်းအမြစ်များနှင့် HTTP ဆက်သွယ်မှုကိုပိတ်နိုင်သည်။ curl_close ကို မခေါ်ပါက၎င်းသည်မှတ်ဥာဏ်ယိုစိမ့်မှုသို့မဟုတ်အခြားအရင်းအမြစ်စွန့်ပစ်ပစ္စည်းများကိုဖြစ်ပေါ်စေနိုင်သည်။
curl_close($ch); // 必须ရုပ်သိမ်းခြင်း连接以释放资源
ရှည်လျားသော running applications များအနေဖြင့် connection ကိုပိတ်ခြင်းသည်စနစ်အရင်းအမြစ်များကိုအလွန်အကျွံစားသုံးခြင်းကိုဖြစ်စေနိုင်သည်။ ထို့ကြောင့်သင်ဆံပင်ကောက်ကောက်ကိုအသုံးပြုသည့်အခါတိုင်း connection ကိုပိတ်ရန် Curl_Close ဟုခေါ်ပါ။