လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> တောင်းဆိုမှုများအကြားစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းအခြေအနေနှင့် login sessions များကိုမည်သို့မျှဝေနည်း

တောင်းဆိုမှုများအကြားစစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းအခြေအနေနှင့် login sessions များကိုမည်သို့မျှဝေနည်း

M66 2025-05-24

curl_share_init () သည် php curl extension ကိုမျှဝေရန်အစပြုခဲ့ရန် PHPH Curl extension မှပေးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤအရာဝတ်ထုနှင့်အတူကျွန်ုပ်တို့သည်ကွဲပြားခြားနားသောဆံပင်ကောက်ကောက်တောင်းဆိုမှုများအကြား session တစ်ခုမျှဝေနိုင်ပါတယ်။ အထူးသဖြင့်စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းလိုအပ်ကြောင်းတောင်းဆိုမှုများပြုလုပ်သောအခါဤမျှဝေထားသော session data data များသည်မိတ္တူပွားများကိုသိသိသာသာလျှော့ချပေးပြီးအစီအစဉ်၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေသည်။

 $ch_share = curl_share_init();

အထက်ဖော်ပြပါကုဒ်များသည်မျှဝေထားသောအရင်းအမြစ်အရာဝတ်ထု $ ch_share ကို အကန့်အသတ်ဖြင့်ဖော်ပြထားသည်။

2 ။ Sharing options များကိုသတ်မှတ်ရန် curl_share_setopt () ကိုသုံးပါ

သင်မျှဝေထားသောအရာဝတ်ထုတစ်ခုကိုသင်ဖန်တီးပြီးသည်နှင့် curl_share_setopt () မှတဆင့်မည်သည့်သတင်းအချက်အလက်မျှဝေရန်လိုအပ်သည့်အရာကိုသတ်မှတ်နိုင်သည်။ ဘုံမျှဝေထားသောအချက်အလက်များတွင် -

  • curl_share_cookie : မျှဝေ cookies များ

  • curl_share_header : header အချက်အလက်များကိုမျှဝေပါ

  • curl_share_request : တောင်းဆိုမှုသတင်းအချက်အလက်များကိုမျှဝေပါ

 curl_share_setopt($ch_share, CURL_SHARE_COOKIE, true);

အထက်ပါ settings များနှင့်အတူတောင်းဆိုမှုများစွာသည် login status ကိုထိန်းသိမ်းရန်မရှိမဖြစ်လိုအပ်သော cookie အချက်အလက်များကိုမျှဝေနိုင်သည်။

3 ။ curl တောင်းဆိုမှုများအတွက် session ကိုမျှဝေပါ

မျှဝေထားသောအရာဝတ်ထုကိုအစပျိုးပြီးသက်ဆိုင်ရာရွေးချယ်စရာများကိုသတ်မှတ်ပြီးသည်နှင့်ဤမျှဝေထားသောအရင်းအမြစ်ကိုမတူညီသောတောင်းဆိုမှုများတွင်ဤမျှဝေထားသောအရင်းအမြစ်ကိုသုံးနိုင်သည်။ ပထမ ဦး စွာ curl sessions များစွာကိုဖန်တီးပြီး session တစ်ခုစီအတွက်မျှဝေထားသောအရင်းအမြစ်အရာဝတ်ထုကိုချည်နှောင်ပါ။

 $ch1 = curl_init();
$ch2 = curl_init();

// မျှဝေထားသောအရင်းအမြစ်ကိုချည်နှောင်ပါ cURL ရုံးထိုင်အချိန်ကာလ
curl_setopt($ch1, CURLOPT_SHARE, $ch_share);
curl_setopt($ch2, CURLOPT_SHARE, $ch_share);

// သတ်မှတ်ထားတဲ့ set URL(အမှန်တကယ်တောင်းဆိုမှုနှင့်အတူအစားထိုးလိုက်ပါ)
curl_setopt($ch1, CURLOPT_URL, 'https://m66.net/api/login');
curl_setopt($ch2, CURLOPT_URL, 'https://m66.net/api/data');

// တောင်းဆိုမှုကို execute
curl_exec($ch1);
curl_exec($ch2);

// 关闭ရုံးထိုင်အချိန်ကာလ
curl_close($ch1);
curl_close($ch2);

အထက်ဖော်ပြပါဥပမာတွင် $ ch1 နှင့် $ ch2 သည်စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းအခြေအနေနှင့်ကွတ်ကီးသတင်းအချက်အလက်များကိုမျှဝေနိုင်သည့်အတွက်၎င်းတို့နှစ် ဦး စလုံးသည်တူညီသော login session ကိုသုံးနိုင်သည်။

4 ။ မျှဝေထားသောအရင်းအမြစ်များကိုထုတ်ပြန်ပါ

curl session များအားလုံးပြီးစီးသောအခါမှတ်ဉာဏ်ယိုစိမ့်မှုများကိုရှောင်ရှားရန်မျှဝေထားသောအရင်းအမြစ်များကိုလွတ်မြောက်ရန်သတိရပါ။

 curl_share_close($ch_share);

5 ။ ဥပမာအသုံးပြုမှု - Shared authentication status ကို

logging in loging လုပ်ပြီး logged in in လုပ်ပြီး 0 င်ရောက်ပြီး 0 င်ရောက်ပြီး 0 ်ရောက်ပြီး 0 င် ရောက်ပြီး, ဤတွင်ပြည့်စုံသောဥပမာတစ်ခုမှာ -

 <?php
// မျှဝေထားသောအရင်းအမြစ်များကိုစတင်ပါ
$ch_share = curl_share_init();

// မျှဝေခြင်းရွေးချယ်စရာများကိုသတ်မှတ်ပါ(မျှဝေခဲ့သည် Cookie)
curl_share_setopt($ch_share, CURL_SHARE_COOKIE, true);

// ပထမတစ်ခုဖန်တီးပါ cURL ရုံးထိုင်အချိန်ကာလ(login တောင်းဆိုမှု)
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_SHARE, $ch_share);
curl_setopt($ch1, CURLOPT_URL, 'https://m66.net/api/login');
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_POST, true);
curl_setopt($ch1, CURLOPT_POSTFIELDS, [
    'username' => 'your_username',
    'password' => 'your_password'
]);

// 执行login တောင်းဆိုမှု
$response1 = curl_exec($ch1);

// တစ်စက္ကန့်ကိုဖန်တီးပါ cURL ရုံးထိုင်အချိန်ကာလ(ဒေတာကိုရယူပါ)
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_SHARE, $ch_share);
curl_setopt($ch2, CURLOPT_URL, 'https://m66.net/api/userdata');
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);

// ဒေတာတောင်းဆိုမှုများလုပ်ဆောင်ပါ
$response2 = curl_exec($ch2);

// ရလဒ်ရလဒ်
echo $response1;
echo $response2;

// 关闭ရုံးထိုင်အချိန်ကာလ
curl_close($ch1);
curl_close($ch2);

// 释放မျှဝေခဲ့သည်资源
curl_share_close($ch_share);
?>

ဤဥပမာတွင် login တောင်းဆိုမှုနှင့်ဒေတာတောင်းဆိုမှုသည်စစ်မှန်ကြောင်းအထောက်အထားပြဌာန်းချက်အခြေအနေနှင့်ကွတ်ကီးများကိုမျှဝေပါ။ ထို့ကြောင့် Login စစ်ဆင်ရေးများကိုရှောင်ရှားနိုင်သည်။

အကျဉ်းချုပ်

curl_share_init () နှင့် curl_share_setopt () နှင့်အတူကျွန်ုပ်တို့သည် curl တောင်းဆိုမှုများအကြားစစ်မှန်ကြောင်းအတည်ပြုမှုအခြေအနေနှင့် session တစ်ခုကိုလည်းမျှဝေနိုင်ပြီးတောင်းဆိုမှုများစွာတွင်ထိရောက်မှုကိုသိသိသာသာတိုးတက်စေသည်။ ရှုပ်ထွေးသော API ခေါ်ဆိုမှုများသို့မဟုတ်သင် log in လုပ်ထားရန်လိုအပ်သည့်အခါဖြစ်စဉ်များတွင်ဤနည်းလမ်းသည် developer များက developer များကမလိုအပ်သောပွားစစ်မှန်သောစစ်ဆင်ရေးလုပ်ငန်းများကိုလျှော့ချရန်နှင့်အချိန်နှင့်အရင်းအမြစ်များကိုသက်သာစေသည်။