Come inviare richieste POST con cURL

Come inviare richieste POST con cURL

cURL è una versatile utility da riga di comando progettata per trasferimenti di dati senza interruzioni su diversi protocolli di rete, tra cui HTTP, HTTPS e FTP. Disponibile su tutti i principali sistemi operativi, cURL è diventato lo strumento standard per inviare richieste HTTP dalla riga di comando. La sua utility multipiattaforma supporta protocolli come HTTP, HTTPS, FTP e IMAP, semplificando l'invio di richieste alle API e lo scraping di siti Web. Grazie alla sua ampia disponibilità e al supporto del protocollo, cURL è comunemente citato nella documentazione REST API come un modo rapido per testare le chiamate API direttamente dalla riga di comando.

Questo tutorial approfondisce l'esecuzione di richieste POST tramite cURL, consentendo una comunicazione efficiente con i server tramite semplici istruzioni da riga di comando.

Che cos'è una richiesta POST?

Una richiesta POST è un metodo HTTP utilizzato per inviare dati a un server ed è uno dei metodi HTTP più comuni. A differenza delle richieste GET, in cui i dati sono inclusi nell'URL, le richieste POST trasmettono i dati nel corpo della richiesta. Ciò consente un trasferimento discreto dei dati ed evita le limitazioni di lunghezza dell'URL imposte dai browser sulle richieste GET.

Le richieste POST sono usate frequentemente per l'invio di moduli, il caricamento di file e l'invio di dati JSON alle API. Poiché i dati sono archiviati nel corpo della richiesta, non sono visibili nella cronologia del browser e, a differenza delle richieste GET, le richieste POST non vengono solitamente memorizzate nella cache dai browser.

Casi di utilizzo pratico per le richieste POST cURL

Le richieste cURL POST sono ampiamente utilizzate in vari scenari, tra cui:

  • Test delle API REST : gli sviluppatori utilizzano cURL per testare rapidamente gli endpoint API prima di implementarli nelle applicazioni.
  • Automazione dell'invio di moduli : utilizzando cURL, puoi automatizzare le interazioni con i moduli Web, inviando dati senza input manuale.
  • Caricamento file : molte API consentono il caricamento di file tramite richieste POST, rendendo cURL uno strumento efficace per automatizzare questo processo.
  • Interazione con i sistemi di autenticazione : gli sviluppatori possono utilizzare cURL per autenticare gli utenti e accedere a risorse protette con token API o credenziali.
  • Estrazione e integrazione dei dati : l'estrazione e l'integrazione dei dati da diverse fonti online vengono semplificate utilizzando le funzionalità di richiesta POST di cURL.

Esecuzione di una richiesta POST con cURL

Per iniziare a usare cURL per le richieste POST, assicurati che sia installato sul tuo sistema. Se non lo hai ancora installato, fai riferimento alla nostra guida sulla configurazione di cURL. Di seguito è riportata una tabella di riferimento che riassume le opzioni essenziali di cURL:

Bandiera corta

Bandiera lunga

Argomento(i)

Descrizione

-X

--richiesta

(utilizzare "POST" per le richieste POST)

Definisce il metodo HTTP per la richiesta

-B

--biscotto

Invia i cookie nella richiesta

-C

--barattolo dei biscotti

Salva i cookie ricevuti in un file

-D

--dati

Trasmette i dati in una richiesta POST

-F

--fallire

Garantisce un guasto silenzioso in caso di errori del server

-F

--modulo

<nome=contenuto>

Invia i dati del modulo (application/x-www-form-urlencoded)

-H

--intestazione

intestazione/@file

Include intestazioni HTTP personalizzate

-io

--include

Visualizza le intestazioni HTTP nella risposta

-l

--Testa

Recupera solo le intestazioni

-k

--insicuro

Ignora la verifica SSL

-L

--posizione

Segue i reindirizzamenti (3XX)

-o

--produzione

Salva l'output in un file specificato

-O

--nome-remoto

Salva l'output con il nome del file remoto

-S

--silenzioso

Sopprime i messaggi di output

-v

--verboso

Abilita l'output dettagliato (debug)

-e

--scrivere-fuori

Dettagli della risposta in uscita

Per visualizzare l'elenco completo delle opzioni disponibili, utilizzare:

arricciatura --aiuto

Errori comuni e come risolverli

Anche se cURL è potente, gli utenti spesso riscontrano errori quando inviano richieste POST. Ecco alcuni problemi comuni e soluzioni:

  • curl: (6) Impossibile risolvere l'host – Ciò significa che il nome di dominio è errato o c'è un problema di risoluzione DNS. Ricontrolla l'URL.
  • curl: (7) Impossibile connettersi all'host – Indica che il server non è raggiungibile. Assicurati che il server sia online e che tu abbia una connessione Internet attiva.
  • curl: (35) Errore di connessione SSL – Se la richiesta fallisce a causa di problemi SSL, prova a usare -k per ignorare la verifica SSL.
  • HTTP 400 Bad Request – Ciò significa che il server ha rifiutato la richiesta, spesso a causa di un formato dati non corretto. Controllare il tipo di contenuto e il payload dei dati.
  • HTTP 401 Unauthorized – Si verifica quando l'autenticazione è richiesta ma manca o è errata. Assicurati che le chiavi API o le credenziali siano passate correttamente con -u o -H "Authorization: Bearer <token>".

Sintassi di base della richiesta POST

curl -X POST -d "Ciao" https://example.com/api

In questo comando:

  • -X POST specifica il tipo di richiesta.
  • -d "Ciao" definisce i dati inviati.
  • https://example.com/api è l'URL di destinazione.

Impostazione delle intestazioni del tipo di contenuto

curl -X POST -H "Content-Type: text/plain" -d "Ciao" https://example.com/api

Aggiungendo -H "Content-Type: text/plain" si informa il server che il formato dei dati è testo normale.

Invio di dati JSON

curl -X POST -H "Tipo di contenuto: applicazione/json" -d '{"key":"value"}' https://example.com/api

Utilizzando application/json come tipo di contenuto si garantisce che i dati vengano interpretati correttamente come JSON.

Invio di dati XML

curl -X POST -H "Content-Type: application/xml" -d '<?xml version="1.0" encoding="UTF-8"?><root><name>John Doe</name><age>30</age></root>' https://example.com/api

Caricamento di file con POST

curl -X POST -F "file=@/percorso/verso/img.png" https://example.com/api/upload

Per caricare più file:

curl -X POST -F "file=@/percorso/verso/img1.png" -F "file=@/percorso/verso/img2.png" https://example.com/api/upload

Autenticazione con cURL

curl -u nomeutente:password https://example.com/login

Sostituisci nome utente e password con le credenziali effettive.

Conclusione

cURL semplifica le interazioni HTTP con le sue potenti e flessibili opzioni della riga di comando. Padroneggiando le richieste POST, gli sviluppatori possono gestire in modo efficiente le comunicazioni API, le trasmissioni dati e i caricamenti file. Che tu abbia bisogno di testare endpoint API, automatizzare gli invii di moduli o estrarre dati dai siti Web, cURL fornisce una soluzione leggera ed efficace. Continua a sperimentare con cURL per ottimizzare il tuo flusso di lavoro!

Ti ricordiamo che Plisio ti offre anche:

Crea fatture crittografiche in 2 clic and Accetta donazioni in criptovalute

14 integrazioni

10 librerie per i linguaggi di programmazione più diffusi

19 criptovalute e 12 blockchain

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.