Konfigurer en proxy med CURLRequest i CodeIgniter 4.4+
Angiv proxy-URL'en i CURLRequest-valgmulighederne i CodeIgniter 4.4 eller nyere, og tag højde for CONNECT-adfærden.
CodeIgniter 4.4.0 tilføjede en proxy-valgmulighed til CURLRequest. Angiv en proxy-URL i anmodningens valgmulighedsarray:
$client = service('curlrequest');
$response = $client->request('GET', 'https://api.example/', [
'proxy' => 'http://proxy.example:8080',
'connect_timeout' => 5,
'timeout' => 30,
]);
Valgmuligheden proxy accepterer én URL-streng. En http/https-tilknytning i Requests-stil er et andet format. Kontroller den installerede CodeIgniter-version, hvis denne valgmulighed ikke findes.
CURLRequest sætter CURLOPT_PROXY og aktiverer CURLOPT_HTTPPROXYTUNNEL for valgmuligheden. HTTP-mellemleddet skal derfor tillade CONNECT til det tilsigtede mål.
Brug listenerens faktiske scheme i proxy-URL'en, og behold API-endpointet i anmodnings-URL'en. Til tilladte offentlige API-anmodninger leverer HTTP-proxy-listen kandidater til HTTP-proxy-URL'en; kontroller, at noden tillader CONNECT til det faktiske mål. Håndtér det returnerede svar og fejl via applikationens eksisterende kaldestien.