Come inviare intestazioni HTTP con cURL: una guida completa con esempi
Impara a inviare e ricevere intestazioni HTTP utilizzando cURL con questa guida completa. Esplora esempi, intestazioni personalizzate e suggerimenti per la risoluzione dei problemi.
In questo articolo 11 sezioni
- Prerequisiti
- Sintassi di base di cURL
- Esempio 1: invio di una richiesta GET con intestazioni personalizzate
- Esempio 2: invio di una richiesta POST con dati JSON
- Esempio 3: Impostazione di più intestazioni
- Esempio 4: Invio di cookie
- Esempio 5: Seguire i reindirizzamenti
- Esempio 6: Invio di uno User-Agent personalizzato
- Esempio 7: Invio di intestazioni di richiesta senza dati
- Esempio 8: Invio di autenticazione di base
- Esempio 9: modalità debug e dettagliata
Inviare intestazioni HTTP con cURL è una competenza fondamentale per chiunque lavori con API o servizi web. Le intestazioni HTTP trasmettono informazioni essenziali sulla tua richiesta, come il tipo di contenuto, l’autorizzazione e altro ancora. cURL, uno strumento da riga di comando potente per effettuare richieste HTTP, ti permette di personalizzare e inviare queste intestazioni senza sforzo. In questa guida, ti guideremo attraverso il processo di invio delle intestazioni HTTP utilizzando cURL, con una varietà di esempi pratici.

Prerequisiti#
Prima di iniziare con gli esempi, assicurati di avere cURL installato sul tuo sistema. Puoi verificare se è installato eseguendo:
curl --version
Se non è installato, puoi scaricarlo dal sito Web ufficiale di cURL.
Sintassi di base di cURL#
La sintassi di base per inviare una richiesta HTTP con cURL è:
curl [options] [URL]
Per includere intestazioni HTTP nella tua richiesta, puoi utilizzare l’opzione -H o –header seguita dalle informazioni dell’intestazione.
Esempio 1: invio di una richiesta GET con intestazioni personalizzate#
Iniziamo con una semplice richiesta GET a un’ipotetica API, inclusa un’intestazione personalizzata. Supponiamo che tu voglia includere un’intestazione “Autorizzazione” con la tua chiave API.
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.example.com/resource
Sostituisci YOUR_API_KEY con la tua chiave API effettiva.
Esempio 2: invio di una richiesta POST con dati JSON#
In questo esempio, invieremo una richiesta POST con un payload JSON e un’intestazione di tipo di contenuto personalizzata.
curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "email": "[email protected]"}' https://api.example.com/users
Questo comando specifica il metodo di richiesta come POST (-X POST), imposta il tipo di contenuto su JSON (-H
Esempio 3: Impostazione di più intestazioni#
Puoi includere più intestazioni in una singola richiesta cURL. Qui stiamo inviando una richiesta con entrambe le intestazioni
curl -H "Authorization: Bearer YOUR_API_KEY" -H "User-Agent: MyClient/1.0" https://api.example.com/resource
Esempio 4: Invio di cookie#
Per inviare cookie con la tua richiesta, utilizza l’opzione -b o –cookie seguita dai dati del cookie.
curl -b "session=12345; preferences=darkmode" https://api.example.com/dashboard
Questo esempio invia due cookie:
Esempio 5: Seguire i reindirizzamenti#
Per impostazione predefinita, cURL non segue i reindirizzamenti HTTP. Per abilitare il seguimento dei reindirizzamenti, utilizza l’opzione -L o –location.
curl -L https://example.com
Questo comando seguirà eventuali reindirizzamenti e visualizzerà il contenuto della pagina finale.
Esempio 6: Invio di uno User-Agent personalizzato#
Puoi impostare un’intestazione User-Agent personalizzata per identificare la tua richiesta.
curl -H "User-Agent: MyCustomApp/1.0" https://api.example.com/resource
Le intestazioni User-Agent personalizzate sono utili quando si interagisce con API che richiedono user agent specifici.
Esempio 7: Invio di intestazioni di richiesta senza dati#
Se hai bisogno di inviare un’intestazione senza un corpo della richiesta, puoi utilizzare l’opzione -I o –head.
curl -I https://api.example.com/resource
Questo comando invia una richiesta HEAD, che recupera solo le intestazioni e non il contenuto effettivo.
Esempio 8: Invio di autenticazione di base#
Per inviare le credenziali di autenticazione HTTP Basic, puoi includere un header
curl -H "Authorization: Basic BASE64_ENCODED_CREDENTIALS" https://api.example.com/resource
Sostituisci BASE64_ENCODED_CREDENTIALS con il tuo nome utente e password codificati in Base64 (ad es. username:password).
Esempio 9: modalità debug e dettagliata#
Quando risolvi problemi o esamini la richiesta e la risposta HTTP, puoi utilizzare la modalità verbose di cURL con l’opzione -v o –verbose.
curl -v https://api.example.com/resource
Questo visualizzerà informazioni dettagliate sulla richiesta e sulla risposta, incluse le intestazioni.
L’invio di intestazioni HTTP con cURL è un’abilità fondamentale per lavorare con servizi web e API. Con gli esempi forniti in questa guida, puoi personalizzare le tue richieste, gestire l’autenticazione, inviare cookie e molto altro. Man mano che acquisisci familiarità con le capacità di cURL, sarai ben attrezzato per interagire efficacemente con vari servizi web.
