Настройка прокси в CurlTransport Yii2
Выберите CurlTransport, прежде чем передавать CURLOPT_PROXY и параметры аутентификации прокси в запрос HTTP-клиента Yii2.
Выберите CurlTransport, прежде чем передавать числовые параметры CURLOPT. HTTP-клиент 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 с расширением cURL. Этот пример рассчитан на HTTP-прокси, принимающий Basic; согласуйте прокси с методом, который поддерживает транспорт.
CURLOPT_PROXYAUTH выбирает аутентификацию у посредника. CURLOPT_HTTPAUTH и авторизация API, наоборот, обслуживают пункт назначения.
Общие параметры запросов Yii2, включая прокси с учётом регистра и тайм-ауты, — это другой интерфейс. Они не делают произвольные константы cURL переносимыми между бэкендами.
Если Client.requestConfig задаёт значения по умолчанию, которые должны сохраниться, используйте addOptions для добавлений в отдельном запросе. Показанный setOptions заменяет эту коллекцию и может удалить унаследованные настройки.