Cấu hình proxy trong CurlTransport của Yii2
Chọn CurlTransport trước khi truyền CURLOPT_PROXY và các tùy chọn xác thực proxy cho yêu cầu của HTTP client trong Yii2.
Chọn CurlTransport trước khi truyền các tùy chọn CURLOPT dạng số. HTTP client của Yii2 mặc định dùng StreamTransport và không trở thành cURL chỉ vì những hằng số đó hiện diện:
$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();Dùng môi trường chạy PHP có phần mở rộng cURL. Ví dụ này giả định một proxy HTTP chấp nhận Basic; hãy khớp proxy với phương thức mà transport hỗ trợ.
CURLOPT_PROXYAUTH chọn xác thực với bên trung gian. CURLOPT_HTTPAUTH và ủy quyền API thì phục vụ đích đến.
Các tùy chọn yêu cầu dùng chung của Yii2, gồm proxy phân biệt chữ hoa chữ thường và thời gian chờ, là một giao diện khác. Chúng không làm cho các hằng số cURL tùy ý có thể chuyển giữa các backend.
Nếu Client.requestConfig cung cấp giá trị mặc định cần được giữ lại, hãy dùng addOptions cho phần bổ sung theo từng yêu cầu. setOptions được hiển thị thay thế bộ sưu tập đó và có thể xóa các lựa chọn kế thừa.