Configurarea unui proxy cu CURLRequest în CodeIgniter 4.4+
Transmiteți URL-ul proxy-ului în opțiunile CURLRequest din CodeIgniter 4.4 sau o versiune mai nouă și țineți cont de comportamentul CONNECT.
CodeIgniter 4.4.0 a adăugat o opțiune proxy la CURLRequest. Furnizați un URL de proxy în tabloul de opțiuni al cererii:
$client = service('curlrequest');
$response = $client->request('GET', 'https://api.example/', [
'proxy' => 'http://proxy.example:8080',
'connect_timeout' => 5,
'timeout' => 30,
]);
Opțiunea proxy acceptă un singur șir URL. Maparea http/https în stil Requests este un format diferit. Verificați versiunea CodeIgniter instalată dacă această opțiune nu este disponibilă.
CURLRequest setează CURLOPT_PROXY și activează CURLOPT_HTTPPROXYTUNNEL pentru opțiune. Prin urmare, intermediarul HTTP trebuie să permită CONNECT către ținta dorită.
Folosiți schema reală a listenerului în URL-ul proxy-ului și păstrați endpoint-ul API în URL-ul cererii. Pentru cererile permise către API-uri publice, lista de proxy-uri HTTP oferă candidați pentru URL-ul proxy-ului HTTP; verificați dacă nodul permite CONNECT către ținta reală. Gestionați răspunsul returnat și erorile prin calea de apel existentă a aplicației.