Փրոքսիի կարգավորում Yii2-ի CurlTransport-ում
Ընտրեք CurlTransport-ը նախքան CURLOPT_PROXY-ն և փրոքսիի նույնականացման ընտրանքները Yii2 HTTP հաճախորդի հարցմանը փոխանցելը։
Ընտրեք CurlTransport-ը նախքան թվային CURLOPT ընտրանքները փոխանցելը։ 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();Օգտագործեք PHP միջավայր cURL ընդլայնմամբ։ Այս օրինակը ենթադրում է HTTP փրոքսի, որն ընդունում է Basic; համապատասխանեցրեք փրոքսին տրանսպորտի աջակցած մեթոդին։
CURLOPT_PROXYAUTH-ը ընտրում է միջնորդի նույնականացումը։ CURLOPT_HTTPAUTH-ը և API լիազորումը փոխարենը սպասարկում են նպատակակետին։
Yii2-ի ընդհանուր հարցման ընտրանքները, ներառյալ տառաշերտին զգայուն փրոքսին և ժամկետները, այլ ինտերֆեյս են։ Դրանք կամայական cURL հաստատունները backend-ների միջև տեղափոխելի չեն դարձնում։
Եթե Client.requestConfig-ը տալիս է լռելյայն արժեքներ, որոնք պետք է պահպանվեն, օգտագործեք addOptions-ը՝ յուրաքանչյուր հարցման հավելումների համար։ Ցուցադրված setOptions-ը փոխարինում է այդ հավաքածուն և կարող է հեռացնել ժառանգված ընտրությունները։