تر دې چې عددي CURLOPT انتخابونه وسپارئ، CurlTransport وټاکئ. د Yii2 HTTP کلاینټ په ډیفالټ ډول StreamTransport کاروي او یوازې د دې ثابتو د شتون له امله cURL نه کیږي:

$client = new \yii\httpclient\Client([
    'transport' => \yii\httpclient\CurlTransport::class,
]);

$response = $client->createRequest()
    ->setMethod('GET')
    ->setUrl('https://api.example/items')
    ->setOptions([
        CURLOPT_PROXY => 'http://proxy.example:8080',
        CURLOPT_PROXYAUTH => CURLAUTH_BASIC,
        CURLOPT_PROXYUSERNAME => $proxyUser,
        CURLOPT_PROXYPASSWORD => $proxyPassword,
        CURLOPT_CONNECTTIMEOUT => 5,
        CURLOPT_TIMEOUT => 15,
    ])
    ->send();

د cURL غځونې سره PHP چاپېریال وکاروئ. دا بېلګه هغه HTTP پروکسي تمه لري چې Basic مني; پروکسي دې هغې طریقې سره سم کړئ چې ټرانسپورټ یې ملاتړ کوي.

CURLOPT_PROXYAUTH د منځګړي تصدیق ټاکي. CURLOPT_HTTPAUTH او د API اجازه بیا د موخې خدمت کوي.

د Yii2 شریکې غوښتنې انتخابونه، چې د حروف حساس پروکسي او وخت محدودیتونه هم شامل دي، بل انټرفیس دي. دوی خپل سری cURL ثابتونه د بیکاینډونو ترمنځ د لېږد وړ نه جوړوي.

که Client.requestConfig داسې ډیفالټونه ورکوي چې باید پاتې شي، د هرې غوښتنې لپاره د زیاتونو لپاره addOptions وکاروئ. ښودل شوی setOptions هغه ټولګه بدله کوي او کېدای شي میراثي انتخابونه لرې کړي.

اړوندې مقالې