Il vantaggio più si­gni­fi­ca­ti­vo di cURL in PHP è la sua capacità di gestire una vasta gamma di requisiti per il tra­sfe­ri­men­to di dati, pur con­sen­ten­do un’in­te­gra­zio­ne perfetta delle API. Nell’articolo il­lu­stre­re­mo la sintassi e le fun­zio­na­li­tà dell’esten­sio­ne PHP.

Che cos’è cURL in PHP?

cURL è l’acronimo di “Curl URL Request Library” ed è un’esten­sio­ne del lin­guag­gio di pro­gram­ma­zio­ne PHP che mette a di­spo­si­zio­ne un’in­ter­fac­cia per l’invio di richieste HTTP e la co­mu­ni­ca­zio­ne tramite vari pro­to­col­li di rete come HTTP, HTTPS o FTP. Grazie a cURL è possibile ag­giun­ge­re o mo­di­fi­ca­re in­te­sta­zio­ni, parametri e dati per sod­di­sfa­re i requisiti delle API.

Come si installa cURL?

Per uti­liz­za­re cURL in PHP, nor­mal­men­te non occorre in­stal­lar­lo, in quanto si tratta di un’esten­sio­ne integrata. Tuttavia, è ne­ces­sa­rio as­si­cu­rar­si che l’esten­sio­ne cURL sia abilitata nell’in­stal­la­zio­ne di PHP. Per ve­ri­fi­ca­re che cURL funzioni, si può creare un file PHP ed eseguire il seguente codice:

phpinfo();
php

Nella pagina generata, cerca cURL support o in­for­ma­zio­ni simili per vedere se è abilitato. Se cURL non è attivo, sarà ne­ces­sa­rio mo­di­fi­ca­re il file php.ini. Al suo interno, individua l’espres­sio­ne ;extension=php_curl.dll per cURL in Windows o ;extension=curl per cURL in Linux. Rimuovi quindi il punto e virgola “;” prima della riga per attivare l’esten­sio­ne cURL. Salva il file e riavvia il server web per applicare le modifiche.

Nel nostro tutorial sul PHP ap­pren­de­rai le più im­por­tan­ti nozioni di base della pro­gram­ma­zio­ne PHP, es­sen­zia­li per l’utilizzo di cURL. Per saperne di più sui vantaggi e gli svantaggi del lin­guag­gio di pro­gram­ma­zio­ne PHP, consulta il confronto tra PHP e Python e tra PHP e Ja­va­Script nella Digital Guide di IONOS.

Come si presenta la sintassi di cURL in PHP?

La sintassi di cURL è co­sti­tui­ta da varie funzioni e opzioni fi­na­liz­za­te a con­fi­gu­ra­re una sessione cURL, eseguire in­ter­ro­ga­zio­ni e lavorare con i risultati ottenuti.

Primo passaggio: ini­zia­liz­za­re una sessione cURL

$curl = curl_init();
php

Secondo passaggio: impostare le opzioni

curl_setopt($curl, CURLOPT_URL, 'https://example.com/api'); // definisce l'URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // stabilisce il risultato della richiesta come valore di ritorno
php

Terzo passaggio: eseguire la richiesta cURL

$response = curl_exec($curl);
php

Quarto passaggio: chiudere la sessione cURL

curl_close($curl);
php
Consiglio

Deploy Now di IONOS accelera i cicli di sviluppo e riduce al minimo i tempi di inat­ti­vi­tà. Scopri quali sono le strategie di di­stri­bu­zio­ne fles­si­bi­li per i tuoi progetti web con Deploy Now.

Quali funzioni cURL ci sono in PHP?

Esistono diverse funzioni PHP con le quali creare richieste HTTP o caricare file. È inoltre possibile uti­liz­za­re PHP per re­cu­pe­ra­re in­for­ma­zio­ni da un database MySQL e poi inviarle come JSON tramite cURL.

Ri­por­tia­mo di seguito alcune delle funzioni cURL più im­por­tan­ti in PHP:

  • curl_init: ini­zia­liz­za una nuova sessione cURL ed emette un handle cURL.
  • curl_setopt: imposta le opzioni per la sessione cURL. Questa opzione consente di impostare parametri quali l’URL, le in­te­sta­zio­ni o i metodi di au­ten­ti­ca­zio­ne. Si può anche usare cURL per spe­ci­fi­ca­re i dati POST da inviare al server.
  • curl_exec: esegue la sessione cURL e re­sti­tui­sce la risposta come stringa.
  • curl_close: chiude la sessione cURL e rilascia le risorse.
  • curl_setopt_array: definisce un array di opzioni cURL in un’unica chiamata.
  • curl_getinfo: re­sti­tui­sce in­for­ma­zio­ni sull’ultima sessione cURL, come l’URL o il codice di stato HTTP.
  • curl_error: re­sti­tui­sce il messaggio di errore dell’ultima richiesta cURL.
  • curl_errno: re­sti­tui­sce il codice di errore dell’ultima richiesta cURL.
  • curl_multi_init: ini­zia­liz­za un handle multi-cURL che consente di ef­fet­tua­re più richieste cURL con­tem­po­ra­nea­men­te.
  • curl_multi_add_handle: aggiunge una sessione cURL a un handle multi-cURL.
  • curl_multi_exec: esegue le richieste multi-cURL.
  • curl_multi_get­con­tent: re­sti­tui­sce il contenuto della risposta per una de­ter­mi­na­ta sessione cURL nell’handle multi-cURL.
API IONOS per svi­lup­pa­to­ri
Gestisci i tuoi prodotti di hosting tramite la nostra potente API
  • Gestione record DNS
  • Am­mi­ni­stra­zio­ne SSL
  • Do­cu­men­ta­zio­ne API

Un esempio di ap­pli­ca­zio­ne di cURL in PHP

Creando le proprie classi PHP, è possibile rendere il codice più modulare, definire metodi riu­ti­liz­za­bi­li e sem­pli­fi­ca­re l’im­ple­men­ta­zio­ne di cURL nelle proprie ap­pli­ca­zio­ni.

Di seguito un esempio di come potrebbe apparire una classe PHP in com­bi­na­zio­ne con cURL GET in PHP:

class MyCurlClient {
    private $curl;
    public function __construct() {
        $this->curl = curl_init();
        // Ulteriori configurazioni possono essere effettuate qui
    }
    public function sendRequest($url) {
        curl_setopt($this->curl, CURLOPT_URL, $url);
        curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
        
        $response = curl_exec($this->curl);
        return $response;
    }
    public function close() {
        curl_close($this->curl);
    }
}
// Utilizzo della propria classe
$myCurl = new MyCurlClient();
$response = $myCurl->sendRequest('https://example.com/api');
echo $response;
$data = json_decode($response, true);
// Output dei dati con operatori PHP
echo "Post ID: " . $data['id'] . "<br>";
echo "Title: " . $data['title'] . "<br>";
echo "Body: " . $data['body'] . "<br>";
$myCurl->close();
php

In questo esempio, è stata creata la classe “My­Curl­Client”, che gestisce una sessione cURL PHP nel suo co­strut­to­re. Il metodo sen­dRe­que­st() riceve un URL, configura le opzioni di cURL ed esegue la richiesta HTTP GET. Le stringhe in uscita vengono con­ca­te­na­te mediante gli operatori PHP. Infine, per terminare la sessione cURL, viene uti­liz­za­ta la funzione close().

IONOS Cloud Object Storage
Ar­chi­via­zio­ne sicura e a prezzi van­tag­gio­si

Archivia i tuoi dati in tutta sicurezza sui nostri server, e pro­teg­gi­li dagli accessi non au­to­riz­za­ti.

Vai al menu prin­ci­pa­le