Inviare una richiesta http

PHP:
Inviare una richiesta http

How to:

PHP con curl è un modo popolare per inviare richieste HTTP. Ecco un esempio per fare una richiesta GET a un API che restituisce dati JSON:

<?php
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, "https://api.exemplo.com/dati");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$risposta = curl_exec($curl);
if ($err = curl_error($curl)) {
    echo 'Errore cURL: ' . $err;
} else {
    echo 'Risposta: ' . $risposta;
}

curl_close($curl);
?>

Output d’esempio:

Risposta: {"nome":"Giovanni","cognome":"Rossi"}

Deep Dive:

L’uso di curl in PHP per inviare richieste HTTP si è evoluto negli anni. Prima, usavamo fsockopen() o file_get_contents(), ma curl offre più controllo e opzioni.

Alternative includono:

  • file_get_contents(): semplice per richieste GET.
  • fsockopen(): per chi vuole controllare manualmente ogni parte della richiesta HTTP.
  • Guzzle: una libreria PHP moderna per client HTTP.

Dettagli sull’implementazione con curl:

  • CURLOPT_RETURNTRANSFER: restituisce la risposta come stringa.
  • Gestione errori: curl_error() per sapere se qualcosa è andato storto.
  • CURLOPT_HTTPHEADER: per mandare intestazioni HTTP personalizzate.

See Also:

  • PHP cURL Manual - Documentazione ufficiale di PHP su cURL.
  • Guzzle - Documentazione della libreria Guzzle.
  • HTTP.cat - Un modo creativo per imparare gli status code HTTP attraverso immagini di gatti.