CodeIgniter 4.4.0 añadió una opción de proxy a CURLRequest. Proporciona una URL de proxy dentro del array de opciones de la petición:

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

La opción proxy acepta una sola cadena de URL. La asignación http/https al estilo de Requests es un formato distinto. Comprueba la versión instalada de CodeIgniter si esta opción no está disponible.

CURLRequest establece CURLOPT_PROXY y habilita CURLOPT_HTTPPROXYTUNNEL para la opción. Por tanto, el intermediario HTTP debe permitir CONNECT hacia el destino previsto.

Usa el esquema real del listener en la URL del proxy y mantén el endpoint de la API en la URL de la petición. Para las peticiones permitidas a API públicas, la lista de proxies HTTP ofrece candidatos para la URL del proxy HTTP; comprueba que el nodo permita CONNECT hacia el destino real. Gestiona la respuesta devuelta y los fallos mediante la ruta de llamada existente de la aplicación.

Artículos relacionados