လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> stream_context_get_options () Rest API ကိုအသုံးပြုပါ။ header splicing အောင်မြင်မှုရှိမရှိစစ်ဆေးရန်တောင်းဆိုမှုများ

stream_context_get_options () Rest API ကိုအသုံးပြုပါ။ header splicing အောင်မြင်မှုရှိမရှိစစ်ဆေးရန်တောင်းဆိုမှုများ

M66 2025-05-30

PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် stream_context_et_et_options () function ကိုသုံးနိုင်သည်။ Rest API ခေါ်ဆိုမှုနှင့်ပေါင်းစပ်ပြီးတောင်းဆိုမှု၏မှန်ကန်မှုကိုသေချာစေရန်တောင်းဆိုမှု header ကိုမှန်ကန်စွာ Spliced ​​ရှိမရှိစစ်ဆေးရန်ဤလုပ်ဆောင်မှုကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။

ဤဆောင်းပါးတွင်အချက်အလက်ပို့ခြင်းအတွက်တိကျမှန်ကန်မှုကိုသေချာစေရန်အတွက် heam_context_et_et_options () ကို သေချာစေရန်တောင်းဆိုမှုခေါင်းစီးကိုအောင်မြင်စွာခွဲခြားနိုင်မည်ကိုမည်သို့စစ်ဆေးမည်ကိုမိတ်ဆက်ပေးမည်။

1 ။ stream_context_et_options () ?

Steam_context_get_options () PHP မှာ built-in function တစ်ခုဖြစ်ပြီး Stream အခြေအနေကိုပြင်ဆင်ခြင်းအချက်အလက်ကိုရရှိသည်။ ဤလုပ်ဆောင်ချက်နှင့်အတူကျွန်ုပ်တို့သည်လက်ရှိစီးဆင်းမှုအခြေအနေတွင် configured options များကိုစစ်ဆေးနိုင်သည်။ ဥပမာအားဖြင့် HTTP တောင်းဆိုမှုကိုပြုလုပ်သောအခါကျွန်ုပ်တို့သည်တောင်းဆိုမှုခေါင်းစီးများကိုမှန်ကန်စွာနှင့်အခြားရွေးချယ်စရာများကိုစစ်ဆေးသည်ကိုစစ်ဆေးနိုင်သည်။

function ရှေ့ပြေးပုံစံ:

 array stream_context_get_options(resource $context)

ဤလုပ်ဆောင်ချက်သည်ခင်းကျင်းနေသောသော့များသည်ခင်းကျင်းသည့်နေရာများ (HTTP-Related settings) သည်တိကျသော configuration option ဖြစ်သည်။

2 ။ stream_context_get_options () ကိုသုံးပါ။

API တောင်းဆိုမှုများကိုပေးပို့သည့်အခါကျွန်ုပ်တို့သတ်မှတ်ထားသောတောင်းဆိုမှုဆိုင်ရာခေါင်းစဉ်ကိုရရှိရန်အတွက်လိုအပ်သော HTTP တောင်းဆိုမှုခေါင်းစီးကိုပြန်လည်ထားရှိပါ

stream_context_get_options ကို သုံး. တောင်းဆိုမှုခေါင်းစီးများခွဲဝေမှုကိုမည်သို့စစ်ဆေးရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

 <?php
// တောင်းဆိုမှုကို header ကိုစတင်ပါ
$options = array(
    'http' => array(
        'method'  => 'GET',
        'header'  => "Authorization: Bearer YOUR_TOKEN\r\n" .
                    "Content-Type: application/json\r\n" .
                    "User-Agent: PHP Script\r\n"
    )
);

// တစ် ဦး stream အခြေအနေကိုဖန်တီးပါ
$context = stream_context_create($options);

// တောင်းဆိုမှုကိုပေးပို့ပြီးတုန့်ပြန်ပါ
$url = 'https://m66.net/api/v1/resource'; // သေတမ်းစာURLဒိုမိန်းအမည်ကိုအစားထိုးပါ m66.net
$response = file_get_contents($url, false, $context);

// တောင်းဆိုမှုကို header option ကိုရယူပါ
$headers = stream_context_get_options($context);
if (isset($headers['http']['header'])) {
    echo "တောင်းဆိုမှုခေါင်းစီးအောင်မြင်စွာ spliced:\n";
    echo $headers['http']['header'];  // spliced ​​တောင်းဆိုမှု header output ကို
} else {
    echo "တောင်းဆိုမှုကိုခေါင်းကွဲအောင်မအောင်မြင်ပါ!";
}

// ထုတ်လုပ်ခြင်းAPIတုံ့ပြန်ချက်
echo "\nAPIတုံ့ပြန်ချက်:\n";
echo $response;
?>

3 ။ ကုဒ်ထဲမှာသော့ချက်ခြေလှမ်းများကိုရှင်းပြပါ

  1. တောင်းဆိုချက်ကို header ကိုစတင်ရန် :

    • ကျွန်ုပ်တို့သည် $ options adray မှတစ်ဆင့် $ options array မှတစ်ဆင့် HTTP တောင်းဆိုမှု options များကို စတင်သည် ဤခေါင်းစဉ်ဆိုင်ရာအချက်အလက်များကိုများသောအားဖြင့် API တောင်းဆိုမှုများအတွင်း authentication ကိုသတင်းအချက်အလက်များကိုထုတ်ပြန်ရန်,

  2. Stream အခြေအနေကိုဖန်တီးပါ

  3. တောင်းဆိုမှုကိုပေးပို့ပါ

    • The Stream အခြေအနေကို parameter အဖြစ်ဖြတ်သန်းစဉ် http တောင်းဆိုမှုကိုပို့ရန် file_get_contontents () function ကိုသုံးပါ။ ဤအချိန်တွင် PHP သည်သတ်မှတ်ထားသော URL ကိုတောင်းဆိုသည့် header အပေါ် အခြေခံ. တောင်းဆိုမှုကိုတောင်းဆိုလိမ့်မည်။

  4. တောင်းဆိုမှုကို header ကိုရယူပါ

    • Stream_context_get_options () ကို အသုံးပြုပါ ဤနည်းလမ်းအားဖြင့်တောင်းဆိုမှုကိုခေါင်းစီးများမှန်ကန်စွာ spliced ​​ကြောင်းအတည်ပြုနိုင်သည်။

  5. output တုံ့ပြန်မှု :

    • အကယ်. တောင်းဆိုမှု header ကိုမှန်ကန်စွာကွဲပြားပါကတောင်းဆိုမှု header အချက်အလက်သည် output ကိုဖြစ်သည်။ အကယ်. splicing ပျက်ကွက်လျှင်သက်ဆိုင်ရာအမှားအယွင်းကိုပြလိမ့်မည်။ တစ်ချိန်တည်းမှာပင် API ၏တုန့်ပြန်မှုအကြောင်းအရာများကိုထုတ်ယူပါ။

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

  • Splicing headers အထူးသဖြင့် Newlines ( \ R \ n ) ကိုခွဲထုတ်သည့်အခါမှန်ကန်သောပုံစံကိုသေချာစွာအသုံးပြုရန်သေချာပါစေ။

  • stream_context_get_loptions () ကို debugging လုပ်သည့်အခါ header header header ကိုမျှော်လင့်ထားသည့်အတိုင်းအထူးသဖြင့် authentication သို့မဟုတ်အခြားသီးခြားတောင်းဆိုမှုများလိုအပ်သည့်အချိန်တွင်တောင်းဆိုသည့်အတိုင်းလျင်မြန်စွာအတည်ပြုနိုင်သည်။

  • file_get_contentents () မှတစ်ဆင့်တောင်းဆိုသည့်အခါ, သင်ပိုမိုရှုပ်ထွေးသော HTTP တောင်းဆိုမှုများကိုကိုင်တွယ်ရန်လိုအပ်ပါက (ဖိုင်တင်ခြင်းများနှင့်အတူတောင်းဆိုမှုများသို့မဟုတ်တောင်းဆိုမှုများသို့မဟုတ်တောင်းဆိုမှုများ) ကိုသင်ကိုင်တွယ်ရန်လိုအပ်ပါက file_get_contents () နှင့် curl သို့မဟုတ် stream_context_create () ကို သုံးနိုင်သည်။