Yii2 نىڭ CurlTransport دا proxy تەڭشەش
CURLOPT_PROXY ۋە proxy دەلىللەش تاللانمىلىرىنى Yii2 HTTP خېرىدارى تەلەپكە يوللاشتىن بۇرۇن CurlTransport نى تاللاڭ.
سانلىق 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 مۇھىتىنى ئىشلىتىڭ. بۇ مىسال Basic نى قوبۇل قىلىدىغان HTTP proxy نى كۈتىدۇ؛ proxy نى transport قوللايدىغان ئۇسۇلغا ماسلاڭ.
CURLOPT_PROXYAUTH ئارىلىقچى دەلىللەشنى تاللايدۇ. CURLOPT_HTTPAUTH ۋە API ئىجازىتى بولسا مەنزىلگە مۇلازىمەت قىلىدۇ.
Yii2 نىڭ ئورتاق تەلەپ تاللانمىلىرى، چوڭ-كىچىك ھەرپكە سەزگۈر proxy ۋە ۋاقىت چەكلىمىلىرىنى ئۆز ئىچىگە ئالىدۇ، باشقا بىر كۆرۈنمە يۈز. ئۇلار خالىغان cURL ئۆزگەرمەسلىرىنى بەكېندلار ئارىسىدا يۆتكىگىلى بولىدىغان قىلمايدۇ.
ئەگەر Client.requestConfig ساقلىنىشقا تېگىشلىك سۈكۈتتىكى قىممەتلەرنى بەرسە، ھەر بىر تەلەپكە قوشۇمچە قىلىش ئۈچۈن addOptions نى ئىشلىتىڭ. كۆرسىتىلگەن setOptions ئۇ توپلامنى ئالماشتۇرىدۇ ۋە مىراس قالغان تاللانمىلارنى چىقىرىۋېتىشى مۇمكىن.