Configurer un proxy avec CURLRequest dans CodeIgniter 4.4+
Passez l'URL du proxy dans les options de CURLRequest à partir de CodeIgniter 4.4 et tenez compte de son comportement CONNECT.
CodeIgniter 4.4.0 a ajouté une option proxy à CURLRequest. Fournissez une URL de proxy dans le tableau d'options de la requête :
$client = service('curlrequest');
$response = $client->request('GET', 'https://api.example/', [
'proxy' => 'http://proxy.example:8080',
'connect_timeout' => 5,
'timeout' => 30,
]);
L'option proxy accepte une seule chaîne d'URL. Le mappage http/https de style Requests est un format différent. Vérifiez la version installée de CodeIgniter si cette option n'est pas disponible.
CURLRequest définit CURLOPT_PROXY et active CURLOPT_HTTPPROXYTUNNEL pour l'option. L'intermédiaire HTTP doit donc autoriser CONNECT vers la cible visée.
Utilisez le schéma réel de l'écouteur dans l'URL du proxy et conservez le point de terminaison de l'API dans l'URL de la requête. Pour les requêtes autorisées vers des API publiques, la liste de proxys HTTP fournit des candidats pour l'URL du proxy HTTP ; vérifiez que le nœud autorise CONNECT vers la cible réelle. Traitez la réponse renvoyée et les échecs via le chemin d'appel existant de l'application.