cURL in PHP: come utilizzare lo strumento di trasferimento dati

Il vantaggio più significativo di cURL in PHP è la sua capacità di gestire una vasta gamma di requisiti per il trasferimento di dati, pur consentendo un’integrazione perfetta delle API. Nell’articolo illustreremo la sintassi e le funzionalità dell’estensione PHP.

Che cos’è cURL in PHP?

cURL è l’acronimo di “Curl URL Request Library” ed è un’estensione del linguaggio di programmazione PHP che mette a disposizione un’interfaccia per l’invio di richieste HTTP e la comunicazione tramite vari protocolli di rete come HTTP, HTTPS o FTP. Grazie a cURL è possibile aggiungere o modificare intestazioni, parametri e dati per soddisfare i requisiti delle API.

Come si installa cURL?

Per utilizzare cURL in PHP, normalmente non occorre installarlo, in quanto si tratta di un’estensione integrata. Tuttavia, è necessario assicurarsi che l’estensione cURL sia abilitata nell’installazione di PHP. Per verificare che cURL funzioni, si può creare un file PHP ed eseguire il seguente codice:

phpinfo();
php

Nella pagina generata, cerca cURL support o informazioni simili per vedere se è abilitato. Se cURL non è attivo, sarà necessario modificare il file php.ini. Al suo interno, individua l’espressione ;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’estensione cURL. Salva il file e riavvia il server web per applicare le modifiche.

Nel nostro tutorial sul PHP apprenderai le più importanti nozioni di base della programmazione PHP, essenziali per l’utilizzo di cURL. Per saperne di più sui vantaggi e gli svantaggi del linguaggio di programmazione PHP, consulta il confronto tra PHP e Python e tra PHP e JavaScript nella Digital Guide di IONOS.

Come si presenta la sintassi di cURL in PHP?

La sintassi di cURL è costituita da varie funzioni e opzioni finalizzate a configurare una sessione cURL, eseguire interrogazioni e lavorare con i risultati ottenuti.

Primo passaggio: inizializzare 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 inattività. Scopri quali sono le strategie di distribuzione flessibili 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 utilizzare PHP per recuperare informazioni da un database MySQL e poi inviarle come JSON tramite cURL.

Riportiamo di seguito alcune delle funzioni cURL più importanti in PHP:

  • curl_init: inizializza 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 intestazioni o i metodi di autenticazione. Si può anche usare cURL per specificare i dati POST da inviare al server.
  • curl_exec: esegue la sessione cURL e restituisce 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: restituisce informazioni sull’ultima sessione cURL, come l’URL o il codice di stato HTTP.
  • curl_error: restituisce il messaggio di errore dell’ultima richiesta cURL.
  • curl_errno: restituisce il codice di errore dell’ultima richiesta cURL.
  • curl_multi_init: inizializza un handle multi-cURL che consente di effettuare più richieste cURL contemporaneamente.
  • curl_multi_add_handle: aggiunge una sessione cURL a un handle multi-cURL.
  • curl_multi_exec: esegue le richieste multi-cURL.
  • curl_multi_getcontent: restituisce il contenuto della risposta per una determinata sessione cURL nell’handle multi-cURL.
API IONOS per sviluppatori
Gestisci i tuoi prodotti di hosting tramite la nostra potente API
  • Gestione record DNS
  • Amministrazione SSL
  • Documentazione API

Un esempio di applicazione di cURL in PHP

Creando le proprie classi PHP, è possibile rendere il codice più modulare, definire metodi riutilizzabili e semplificare l’implementazione di cURL nelle proprie applicazioni.

Di seguito un esempio di come potrebbe apparire una classe PHP in combinazione 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 “MyCurlClient”, che gestisce una sessione cURL PHP nel suo costruttore. Il metodo sendRequest() riceve un URL, configura le opzioni di cURL ed esegue la richiesta HTTP GET. Le stringhe in uscita vengono concatenate mediante gli operatori PHP. Infine, per terminare la sessione cURL, viene utilizzata la funzione close().

IONOS Object Storage
Archiviazione sicura e a prezzi vantaggiosi

Archivia i tuoi dati in tutta sicurezza sui nostri server, e proteggili dagli accessi non autorizzati.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top