Steam_context_et_et_options သည် PHP တွင် built-in function ဖြစ်သည်။ အဓိကအားဖြင့် Stream အခြေအနေနှင့်သက်ဆိုင်သောရွေးချယ်စရာများရရှိရန်အသုံးပြုသော PHP တွင်အသုံးပြုသော function ဖြစ်သည်။ ဤရွေးချယ်မှုများတွင် Stream ဖွင့်လှစ်ခြင်း, စာဖတ်ခြင်းနှင့်ရေးသားခြင်းနှင့် HTTP တောင်းဆိုမှုများနှင့်သက်ဆိုင်သော configurations များပါဝင်သည်။ PHP ကို အသုံးပြု. HTTP တောင်းဆိုမှုများကိုစတင်သည့်အခါ stream အခြေအနေတွင်တောင်းဆိုမှု header, parametersters, timameters များ, ထို့ကြောင့် stream အခြေအနေတွင် configuration ကိုဆန်းစစ်ခြင်းသည်တောင်းဆိုမှုပျက်ကွက်မှုအတွက်အကြောင်းပြချက်ကိုဖြေရှင်းရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည်။
လုပ်ဆောင်ချက်၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
array stream_context_get_options ( resource $context )
ဤလုပ်ဆောင်ချက်သည် stream ရှေ့နောက်စကားအရင်းအမြစ် (များသောအားဖြင့် stream_context_create မှဖန်တီးထားသော) နှင့် stream ဆက်စပ် options များပါ 0 င်သော stream options များပါ 0 င်သည်။
သင်သည် HTTP တောင်းဆိုမှုကိုစတင်သောအခါ (ဥပမာ File_get_Contents သို့မဟုတ် FOPEN ကို အသုံးပြုခြင်း) တွင် HTTP တောင်းဆိုမှုခေါင်းစဉ်၏ configuration သည်တောင်းဆိုမှု၏ရလဒ်ကိုအကျိုးသက်ရောက်နိုင်သည်။ အကယ်. တောင်းဆိုမှုပျက်ကွက်ပါက header settings ကိုခွဲခြမ်းစိတ်ဖြာရန်အရေးကြီးသည်။ ပြ problems နာများကိုလျင်မြန်စွာဖော်ထုတ်ရန်အတွက် stream_context_get_options function ကိုသုံးပါ။
ဤတွင်ပုံမှန် http တောင်းဆိုမှုကိုဥပမာတစ်ခုမှာ -
<?php
// တည်ဆောက်သည် HTTP တောင်းဆိုမှု၏အခြေအနေ
$options = [
'http' => [
'method' => 'GET',
'header' => "User-Agent: PHP\r\n" .
"Accept: */*\r\n"
]
];
$context = stream_context_create($options);
// တောင်းဆိုမှုကိုပေးပို့ပြီးပြန်လာသောအကြောင်းအရာကိုဖတ်ပါ
$response = file_get_contents("http://m66.net/some/path", false, $context);
// Stream အခြေအနေရရန်ရွေးချယ်စရာများ
$contextOptions = stream_context_get_options($context);
print_r($contextOptions);
?>
ဤဥပမာတွင် Stream_Context_create ကို အသုံးပြု. အခြေအနေကို ဖန်တီး. HTTP နည်းလမ်းနှင့်တောင်းဆိုမှုအတွက်ခေါင်းစဉ်တပ်ကိုသတ်မှတ်ပါ။ ထို့နောက်ကျွန်ုပ်တို့သည်တောင်းဆိုမှုကိုပေးပို့ရန်နှင့်တုန့်ပြန်မှုကိုရယူရန် file_get_contontents ကို သုံးသည်။ အကယ်. တောင်းဆိုမှုမအောင်မြင်ပါက Stream_Context_et_et_options function မှတဆင့် header သည်မှန်ကန်သော header မှန်ကန်မှုရှိ, မရှိစစ်ဆေးနိုင်သည်။
Stream_context_et_options မှရရှိသောရလဒ်မှတစ်ဆင့်ကျွန်ုပ်တို့အမှန်တကယ်အသုံးပြုသောတောင်းဆိုမှုခေါင်းစဉ်ကိုစစ်ဆေးနိုင်သည်။ ဥပမာအားဖြင့် output သည်ဤကဲ့သို့သောပုံပေါက်နိုင်သည်။
Array
(
[http] => Array
(
[method] => GET
[header] => User-Agent: PHP
Accept: */*
)
)
ပြန်လည်နေရာချထားသည့် array တွင် HTTP အပိုင်းတွင် HTTP-Related configuration ပစ္စည်းများအားလုံးပါ 0 င ် သည်။ တောင်းဆိုမှု header ကိုမှန်ကန်စွာမသတ်မှတ်နိုင်ကြောင်းသင်တွေ့ရှိပါက (လိုအပ်သော အကြောင်းအရာအမျိုးအစား သို့မဟုတ် ခွင့်ပြုချက် header header header ကိုပျောက်ဆုံးခြင်း) ကိုသင်ထပ်မံညှိနိုင်သည်။
အကယ် . သင်သည်ချွင်းချက်တစ်ခုသို့မဟုတ်မျှော်လင့်ထားသည့်ရလဒ်များနှင့်မကိုက်ညီသော header setting ကိုရှာဖွေပါက,
လိုအပ်သောခေါင်းစီးပျောက်ဆုံးနေသည် - APIs အချို့သည်တိကျသော header fields (ဥပမာအားဖြင့် ခွင့်ပြုချက် သို့မဟုတ် အကြောင်းအရာအမျိုးအစားများကဲ့သို့) လိုအပ်သော header fields (orderization or content-type ) လိုအပ်နိုင်ပြီးဤလယ်ကွင်းများပျောက်ဆုံးနေပါကဆာဗာသည်တောင်းဆိုမှုကိုငြင်းပယ်နိုင်သည်။
Header အမျိုးအစားသည်မမှန်ကန်ပါ ။ header field တစ်ခု၏ပုံစံသည် HTTP စံသတ်မှတ်ချက်ကိုလိုက်နာရန်သေချာစေပြီး HTTP စံသတ်မှတ်ချက်တစ်ခုစီသည် သော့ချက် ပုံစံဖြစ်သည်။
မမှန်ကန်သော http နည်းလမ်း : တစ်ခါတစ်ရံတွင် HTTP တောင်းဆိုမှုပျက်ကွက်မှုအတွက်အကြောင်းပြချက်မှာမှားယွင်းသောတောင်းဆိုမှုနည်းလမ်းကိုအသုံးပြုသောကြောင့် (ဥပမာ အား ဖြင့် အသုံးပြုမှု နည်းလမ်းကိုအသုံးပြုသည်) ဖြစ်နိုင်သည်။
File_Get_contents မှတစ်ဆင့်တောင်းဆိုမှုကိုပေးပို့ခြင်းသည်ပျက်ကွက်ခြင်းဖြစ်ကြောင်းသင်တွေ့ရှိပါက၎င်းတို့သည်စီးဆင်းမှုအခြေအနေရွေးချယ်မှုများကိုခွဲခြမ်းစိတ်ဖြာခြင်းကိုရှာဖွေတွေ့ရှိပါက ခွင့်ပြုချက် header ပျောက်ဆုံးနေကြောင်းသင်တွေ့ရှိရပါသည်။
<?php
$options = [
'http' => [
'method' => 'POST',
'header' => "User-Agent: PHP\r\n" .
"Accept: */*\r\n" .
"Authorization: Bearer YOUR_TOKEN\r\n"
]
];
$context = stream_context_create($options);
// တောင်းဆိုမှုကိုပေးပို့ပြီးပြန်လာသောအကြောင်းအရာကိုဖတ်ပါ
$response = file_get_contents("http://m66.net/some/path", false, $context);
// Stream အခြေအနေရရန်ရွေးချယ်စရာများ
$contextOptions = stream_context_get_options($context);
print_r($contextOptions);
?>
ဤနည်းအားဖြင့်တောင်းဆိုမှု header သည်ပြီးပြည့်စုံသော header သည် header configuration ပြ issues နာများကြောင့်တောင်းဆိုမှုကိုရှောင်ရှားနိုင်ကြောင်းသေချာစေနိုင်သည်။
stream_context_get_options function ကို stream terections configurations ကိုဆန်းစစ်ရန်ကူညီရန်အသုံးပြုသူတောင်းဆိုမှုပျက်ကွက်မှုသည် HTTP တောင်းဆိုမှု header setting နှင့်ဆက်စပ်မှုရှိမရှိကိုအတည်ပြုပါ။ ဦး ခေါင်းဆက်တင်ကိုဖြေရှင်းခြင်းနှင့်ညှိခြင်းအားဖြင့်တောင်းဆိုမှုကိုပျက်ကွက်ခြင်းပြ problem နာကိုထိထိရောက်ရောက်ဖြေရှင်းနိုင်ပြီးတောင်းဆိုမှုကိုအောင်မြင်စွာပေးပို့နိုင်သည်နှင့်မျှော်လင့်ထားသည့်တုန့်ပြန်မှုကိုရရှိနိုင်ပါသည်။
ဤဆောင်းပါးမှတစ်ဆင့် HTTP တောင်းဆိုမှုများတွင်ခေါင်းစီးပြ issues နာများကိုခွဲခြမ်းစိတ်ဖြာရန်နှင့်ဖြေရှင်းရန် streamext_et_options များကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။