လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> curlshare_setopt () curlshopt_share, curlshopt_HARSARST အသေးစိတ်ရှင်းပြပါ

curlshare_setopt () curlshopt_share, curlshopt_HARSARST အသေးစိတ်ရှင်းပြပါ

M66 2025-06-03

ကွန်ယက်တောင်းဆိုမှုများအတွက် PHP ၏ Curl စာကြည့်တိုက်ကိုအသုံးပြုသောအခါကျွန်ုပ်တို့သည်များသောအားဖြင့်သီးခြားဆံပင်ကောက်ကောက်လက်ကိုင် ( curl_init () ) ကိုဖန်တီးရန်။ သို့သော် curl_share_init () နှင့် curl_share_setopt () curl_share_setopt () သည် curl_share_setopt () သည် (ကွတ်ကီးများ, DNS Cacts သို့မဟုတ် SSL sessions များစသည်တို့) အကြားအချက်အလက်အချို့ကိုဝေမျှရန်လိုအပ်သည့်အခါအသုံးဝင်သည်။

ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုများကိုမည်သို့အသုံးပြုရမည်နှင့် Curlshopt_Share နှင့် curlshapt_Unshare မှတဆင့်အရင်းအမြစ်များကိုမျှဝေခြင်းနှင့်မျှဝေခြင်းယန္တရားများကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်လေ့လာလိမ့်မည်။

1 ။ အခြေခံသဘောတရားများ

ဆံပင်ကောက်ကောက်တွင်သီးသန့်လက်ကိုင်တစ်ခုစီသည်ပုံမှန်အားဖြင့်လွတ်လပ်သည်။ အကယ်. သင်သည်လက်ကိုင်မျိုးစုံရှိရန်လိုအပ်ပါကအချို့သောပြည်တွင်းဒေတာများကိုမျှဝေပါ (DNS resolution cache, cookie အချက်အလက်များသို့မဟုတ် SSL session cache) ကိုသင်သုံးနိုင်သည်။

PHP သည်အောက်ပါသက်ဆိုင်သောလုပ်ငန်းများကိုထောက်ပံ့ပေးသည်။

  • curl_share_init () : shared လက်ကိုင်ကိုအစပြု။

  • curl_share_setopt () - မျှဝေထားသောလက်ကိုင်များအတွက်မျှဝေရန်ရွေးချယ်စရာများကိုသတ်မှတ်ခြင်း။

  • curl_share_close () : မျှဝေထားသောလက်ကိုင်ကိုပိတ်ပါ။

သက်ဆိုင်ရာရွေးချယ်စရာများ:

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

  • curlshopt_unshare : unshared ခံရဖို့အရင်းအမြစ်အမျိုးအစားကိုသတ်မှတ်။

2 ။ Code ဥပမာ - cookies များကိုမျှဝေ

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

 <?php
// အဆိုပါ shared လက်ကိုင်ကိုအစပျိုး
$sh = curl_share_init();

// shared content တက် set up,ဒီမှာမျှဝေပါ Cookie
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// ပထမ ဦး ဆုံးတ ဦး တည်းအစပျိုး cURL လက်ကိုင်
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, "https://m66.net/page1");
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_SHARE, $sh);
$response1 = curl_exec($ch1);
curl_close($ch1);

// ဒုတိယကန ဦး cURL လက်ကိုင်
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, "https://m66.net/page2");
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch2, CURLOPT_SHARE, $sh);
$response2 = curl_exec($ch2);
curl_close($ch2);

// Sharing ဖျက်သိမ်းခြင်း Cookie
curl_share_setopt($sh, CURLSHOPT_UNSHARE, CURL_LOCK_DATA_COOKIE);

// 关闭共享လက်ကိုင်
curl_share_close($sh);

// ရလဒ်ရလဒ်
echo "Response 1:\n$response1\n";
echo "Response 2:\n$response2\n";
?>

3 ။ တဖြည်းဖြည်းကုဒ် partse

1 ?? curl_share_init ()
ကျနော်တို့က curl_share_init () ကို Call call call call call call call call call call call call call call call call

2 ?? curl_share_setop ($ sh, curlshopt_share, curl_lock_data_cookie)
ဤတွင်ကျွန်ုပ်တို့သည် Shared cookie အချက်အလက်များကိုသတ်မှတ်သည်။ curl_lock_data_cookie သည် cookie အချက်အလက်များကိုကိုယ်စားပြုသည်။ အခြားရရှိနိုင်သည့်တန်ဖိုးများမှာ -

  • curl_lock_data_dns (DNS cache)

  • curl_lock_data_ssl_session (SSL session)

ဒေတာအမျိုးမျိုးကိုဝေမျှရန်သင် curl_share_setopt () ကို အကြိမ်ပေါင်းများစွာခေါ်ဆိုနိုင်သည်။

3 ?? curlopt_share
curlopt_share မှတစ်ဆင့် curlopt_share မှတစ်ဆင့် Curlopt_Share မှတစ်ဆင့် sh1 ch1 , $ ch2 ) ကိုခွဲထားရမည်။

4 ?? curl_share_setopt ($ sh, curlshopt_unshare, curl_lock_data_cookie)
အချို့သောအချက်အလက်များကိုမျှဝေရန်မလိုအပ်တော့ပါကသင် curlshopt_Unshare နှင့်မျှဝေခြင်းကိုပယ်ဖျက်ကြောင်းသင်သတ်မှတ်နိုင်သည်။ မှတ်ချက် - ဤအချက်အလက်အမျိုးအစားကိုမျှဝေခြင်းကိုသာ ဖျက်သိမ်း သော်လည်းမျှဝေထားသောလက်ကိုင်ကိုအသုံးပြုဆဲဖြစ်သည်။

5 ?? curl_share_close ($ sh)
နောက်ဆုံးတွင်မျှဝေထားသောလက်ကိုင်အရင်းအမြစ်ကိုလွှတ်ပေးပါ။ ဒီအဆင့်ကလိုအပ်တယ်ဆိုတာသတိပြုပါ, မဟုတ်ရင်ဒါကမှတ်ဉာဏ်ပေါက်ကြားစေနိုင်တယ်။

4 ။ မှတ်စုများ

  • မျှဝေထားသောလက်ကိုင်များသည်တူညီသောလုပ်ငန်းစဉ်အတွင်းသာတရားဝင်သည်။

  • ဒေတာအမျိုးအစားအားလုံးသည်မျှဝေရန်မသင့်တော်ပါ။

  • Thread ဘေးကင်းလုံခြုံမှုကိုသေချာစေရန် Multi-Threaded ပတ် 0 န်းကျင်တွင်မျှဝေထားသောပတ် 0 န်းကျင်တွင် သုံး. သုံး. သုံးပါ။