O CodeIgniter 4.4.0 adicionou uma opção de proxy ao CURLRequest. Forneça um URL de proxy na matriz de opções do pedido:

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

A opção proxy aceita uma única string de URL. O mapeamento http/https ao estilo Requests é um formato diferente. Verifique a versão instalada do CodeIgniter se esta opção não estiver disponível.

O CURLRequest define CURLOPT_PROXY e ativa CURLOPT_HTTPPROXYTUNNEL para a opção. Por isso, o intermediário HTTP deve permitir CONNECT para o destino pretendido.

Use o esquema real do listener no URL do proxy e mantenha o endpoint da API no URL do pedido. Para pedidos permitidos a APIs públicas, a lista de proxies HTTP fornece candidatos para o URL do proxy HTTP; verifique se o nó permite CONNECT para o destino real. Trate a resposta devolvida e as falhas através do caminho de chamada existente da aplicação.

Artigos relacionados