Symfony CurlHttpClient ၏ အတည်ပြုပြီး ပရောက်စီ URL ကို သတ်မှတ်ခြင်း
ပရောက်စီ အကောင့်၏ အစိတ်အပိုင်းများကို ကုဒ်လုပ်ပြီး API ဦးတည်ရာ၊ no_proxy ခြွင်းချက်များနှင့် သယ်ယူပို့ဆောင်မှု ရွေးချယ်မှုကို ရှင်းလင်းစွာ ထားရှိပါ။
$proxy = 'http://'
. rawurlencode($proxyUser) . ':'
. rawurlencode($proxyPassword)
. '@proxy.example:8080';
$client = new \Symfony\Component\HttpClient\CurlHttpClient([
'proxy' => $proxy,
'no_proxy' => 'localhost,internal.example',
]);
$response = $client->request('GET', 'https://api.example/items');
$status = $response->getStatusCode();rawurlencode သည် အသုံးပြုသူအမည်နှင့် စကားဝှက်ကို သီးခြားစီ အတွက် သက်ဆိုင်ပါသည်။ URL တစ်ခုလုံးကို ကုဒ်လုပ်ပါက နားထောင်သူကို ရှာဖွေရန် လိုအပ်သော scheme နှင့် authority ခွဲခြားသတ်မှတ်ချက်များကိုပါ ကုဒ်လုပ်မည် ဖြစ်သည်။
HTTP ပရောက်စီသည် HTTPS API ချိတ်ဆက်မှုကို CONNECT မှတစ်ဆင့် သယ်ဆောင်သည်။ ပရောက်စီ အကောင့်သည် API အတည်ပြုခြင်းကို အစားမထိုးပါ၊ ပရောက်စီ လော့ဂ်အင်အတွက် http_version ကို 2.0 သို့ အတင်းပြောင်းရန် မလိုအပ်ပါ။
ကော်မာဖြင့် ခွဲထားသော no_proxy စာရင်းသည် ရည်ရွယ်ထားသော တိုက်ရိုက် လက်ခံများကို ရွေးချယ်သည်။ ရှင်းလင်းသော ရွေးချယ်မှုများ မရှိပါက အစိတ်အပိုင်းသည် ၎င်း၏ ပံ့ပိုးထားသော ပတ်ဝန်းကျင် ဆက်တင်များကို အစားထိုး အသုံးပြုနိုင်သည်။
၎င်းသည် CurlHttpClient ကို တိုက်ရိုက် တည်ဆောက်ပြီး PHP ၏ cURL သယ်ယူပို့ဆောင်မှုကို လိုအပ်သည်။ Symfony ၏ ယေဘုယျ စက်ရုံသည် အခြား backend ကို ရွေးချယ်နိုင်သည်။ ငြင်းပယ်မှု ကျန်ရှိနေပါက ရွေးချယ်ထားသော သယ်ယူပို့ဆောင်မှုကို ဖော်ထုတ်ပြီး အကောင့်ကို ဦးတည်ရာ၏ Authorization ခေါင်းစီးသို့ ရွှေ့မည့်အစား ပရောက်စီ အဆင့်၏ အမှားကို ထိန်းထားပါ။