$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 ခေါင်းစီးသို့ ရွှေ့မည့်အစား ပရောက်စီ အဆင့်၏ အမှားကို ထိန်းထားပါ။

ဆက်စပ်ဆောင်းပါးများ