CodeIgniter 4.4.0 добавил параметр прокси в CURLRequest. Укажите URL прокси в массиве параметров запроса:

$client = service('curlrequest');
$response = $client->request('GET', 'https://api.example/', [
    'proxy' => 'http://proxy.example:8080',
    'connect_timeout' => 5,
    'timeout' => 30,
]);

Параметр proxy принимает одну строку URL. Сопоставление http/https в стиле Requests — другой формат. Если этот параметр недоступен, проверьте установленную версию CodeIgniter.

CURLRequest задаёт CURLOPT_PROXY и включает CURLOPT_HTTPPROXYTUNNEL для этого параметра. Поэтому посредник HTTP должен разрешать CONNECT к нужной цели.

Используйте фактическую схему слушателя в URL прокси и оставляйте конечную точку API в URL запроса. Для разрешённых запросов к публичным API список HTTP-прокси предлагает кандидатов для URL HTTP-прокси; проверьте, разрешает ли узел CONNECT к реальной цели. Обрабатывайте полученный ответ и ошибки через существующий путь вызова в приложении.

Похожие статьи