Configurar un proxy con CURLRequest de CodeIgniter 4.4+
Pasa o URL do proxy nas opcións de CURLRequest en CodeIgniter 4.4 ou posterior e ten en conta o seu comportamento CONNECT.
CodeIgniter 4.4.0 engadiu unha opción de proxy a CURLRequest. Proporciona un URL de proxy dentro do array de opcións da petición:
$client = service('curlrequest');
$response = $client->request('GET', 'https://api.example/', [
'proxy' => 'http://proxy.example:8080',
'connect_timeout' => 5,
'timeout' => 30,
]);
A opción proxy acepta unha única cadea de URL. A asignación http/https ao estilo de Requests é un formato distinto. Comproba a versión instalada de CodeIgniter se esta opción non está dispoñible.
CURLRequest estabelece CURLOPT_PROXY e activa CURLOPT_HTTPPROXYTUNNEL para a opción. Polo tanto, o intermediario HTTP debe permitir CONNECT cara ao destino previsto.
Usa o esquema real do listener no URL do proxy e mantén o endpoint da API no URL da petición. Para as peticións permitidas a API públicas, a lista de proxies HTTP ofrece candidatos para o URL do proxy HTTP; comproba que o nodo permita CONNECT cara ao destino real. Xestiona a resposta devolta e os fallos mediante a ruta de chamada existente da aplicación.