កំណត់រចនាសម្ព័ន្ធ proxy ក្នុង CurlTransport របស់ Yii2
ជ្រើសរើស CurlTransport មុនពេលបញ្ជូន CURLOPT_PROXY និងជម្រើសផ្ទៀងផ្ទាត់ proxy ទៅសំណើ HTTP client របស់ Yii2។
ជ្រើសរើស CurlTransport មុនពេលបញ្ជូនជម្រើស CURLOPT ជាលេខ។ HTTP client របស់ Yii2 ប្រើ 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 runtime ដែលមានផ្នែកបន្ថែម cURL។ ឧទាហរណ៍នេះរំពឹង proxy HTTP ដែលទទួល Basic; សម្រួល proxy ទៅតាមវិធីដែល transport គាំទ្រ។
CURLOPT_PROXYAUTH ជ្រើសរើសការផ្ទៀងផ្ទាត់ជាមួយអន្តរការី។ CURLOPT_HTTPAUTH និងការអនុញ្ញាត API ផ្តល់សេវាដល់គោលដៅវិញ។
ជម្រើសសំណើរួមរបស់ Yii2 រួមទាំង proxy ដែលប្រកាន់អក្សរធំ-តូច និងពេលវេលាកំណត់ គឺជាចំណុចប្រទាក់មួយផ្សេងទៀត។ ពួកវាមិនធ្វើឱ្យថេរ cURL តាមអំពើចិត្តអាចផ្ទេររវាង backend បានទេ។
ប្រសិនបើ Client.requestConfig ផ្តល់តម្លៃលំនាំដើមដែលត្រូវរក្សា សូមប្រើ addOptions សម្រាប់ការបន្ថែមក្នុងមួយសំណើ។ setOptions ដែលបានបង្ហាញជំនួសការប្រមូលនោះ ហើយអាចដកជម្រើសដែលទទួលមរតកចេញ។