PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် stream_context_et_et_options () function ကိုသုံးနိုင်သည်။ Rest API ခေါ်ဆိုမှုနှင့်ပေါင်းစပ်ပြီးတောင်းဆိုမှု၏မှန်ကန်မှုကိုသေချာစေရန်တောင်းဆိုမှု header ကိုမှန်ကန်စွာ Spliced ရှိမရှိစစ်ဆေးရန်ဤလုပ်ဆောင်မှုကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။
ဤဆောင်းပါးတွင်အချက်အလက်ပို့ခြင်းအတွက်တိကျမှန်ကန်မှုကိုသေချာစေရန်အတွက် heam_context_et_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 ဖြစ်သည်။
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;
?>
တောင်းဆိုချက်ကို header ကိုစတင်ရန် :
ကျွန်ုပ်တို့သည် $ options adray မှတစ်ဆင့် $ options array မှတစ်ဆင့် HTTP တောင်းဆိုမှု options များကို စတင်သည် ။ ဤခေါင်းစဉ်ဆိုင်ရာအချက်အလက်များကိုများသောအားဖြင့် API တောင်းဆိုမှုများအတွင်း authentication ကိုသတင်းအချက်အလက်များကိုထုတ်ပြန်ရန်,
Stream အခြေအနေကိုဖန်တီးပါ ။
stream_context_create () ကိုသုံးပါ။
တောင်းဆိုမှုကိုပေးပို့ပါ ။
The Stream အခြေအနေကို parameter အဖြစ်ဖြတ်သန်းစဉ် http တောင်းဆိုမှုကိုပို့ရန် file_get_contontents () function ကိုသုံးပါ။ ဤအချိန်တွင် PHP သည်သတ်မှတ်ထားသော URL ကိုတောင်းဆိုသည့် header အပေါ် အခြေခံ. တောင်းဆိုမှုကိုတောင်းဆိုလိမ့်မည်။
တောင်းဆိုမှုကို header ကိုရယူပါ ။
Stream_context_get_options () ကို အသုံးပြုပါ ။ ဤနည်းလမ်းအားဖြင့်တောင်းဆိုမှုကိုခေါင်းစီးများမှန်ကန်စွာ spliced ကြောင်းအတည်ပြုနိုင်သည်။
output တုံ့ပြန်မှု :
အကယ်. တောင်းဆိုမှု header ကိုမှန်ကန်စွာကွဲပြားပါကတောင်းဆိုမှု header အချက်အလက်သည် output ကိုဖြစ်သည်။ အကယ်. splicing ပျက်ကွက်လျှင်သက်ဆိုင်ရာအမှားအယွင်းကိုပြလိမ့်မည်။ တစ်ချိန်တည်းမှာပင် API ၏တုန့်ပြန်မှုအကြောင်းအရာများကိုထုတ်ယူပါ။
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 () ကို သုံးနိုင်သည်။