Curl è un'utilità di linea di comando gratuita e open source utilizzata per il trasferimento di dati da o verso un host remoto con l'interazione minima dell'utente. Curl funziona con protocolli primari come HTTP, FTP, SCP e SFTP.
Consente agli utenti di caricare e scaricare dati utilizzando comandi singoli o script bash. Fornisce inoltre funzionalità come autenticazione dell'utente, tunneling proxy, download curriculum, carichi basati su moduli, certificati SSL e molto altro ancora. È sicuro dire che Curl è più di un client HTTP.
Questo tutorial ti guiderà attraverso una funzionalità Curl che consente agli utenti di eseguire richieste di post HTTP utilizzando i dati dei file.
Prima di iniziare, lasciatemi menzionare che questa non è una guida per principianti a Curl; Hai bisogno di un grado di precedente know-how, in particolare conoscenza di protocolli di rete, richieste HTTP e altro ancora.
Prima di poterci immergerci nell'uso di Curl per eseguire le richieste post, facciamo prima configurazione.
Come installare Curl
Nella maggior parte dei casi, troverai Curl installato nelle principali distribuzioni Linux per impostazione predefinita. Per confermare di avere un ricciolo, usa il comando
Curl -Help
Se ricevi un errore:
-Bash: Curl: comando non trovato
Dovrai installarlo prima di procedere.
Utilizzare il gestore pacchetti predefinito per completare l'installazione come mostrato nei comandi seguenti:
Sudo Apt-get Aggiornamento
sudo apt -get Installa curl -y
Prima di discutere come pubblicare i dati da un file con Curl, permettimi di parlare della richiesta post in breve. Come al solito, se hai già familiarità con questo, puoi sentirti libero di saltare; Altrimenti, rimani in giro.
Curl Post Richiesta
La richiesta di post HTTP è uno dei metodi di richiesta HTTP/HTTP più popolari utilizzati per inviare i dati a un host remoto per creare o aggiornare una risorsa.
Ora:
Si prega di non confondere il metodo con put; Sebbene siano abbastanza simili, hanno le loro differenze.
I dati inviati utilizzando una richiesta post vengono archiviati principalmente nel corpo della richiesta della richiesta HTTP.
Ad esempio, considera la richiesta post di seguito che invia nome utente e password, nonché i loro valori.
Post /limitato /Accesso.PHP HTTP/1.1 host: Linuxhint.com-content-type: applicazione/x-www-form-urlencoded Nome utente = LinuxHint e password = password
Per inviare la richiesta di post sopra utilizzando Curl, possiamo specificare i comandi come:
Curl -x Post -D “Username = LinuxHint & Password = Password” https: // LinuxHint.com/limitato/login.PHP
Nel comando sopra, abbiamo usato l'opzione -D per dire a Curl di includere le intestazioni predefinite, che è il tipo di contenuto: applicazione/x-www-forma-urlencoded
L'opzione -x specifica il metodo della richiesta HTTP da utilizzare, in questo caso, richiesta POST HTTP.
Curl Specifica il tipo di contenuto
In alcuni casi, potremmo voler specificare [esplicitamente] il tipo di contenuto durante l'invio della richiesta. L'entità di tipo contenuto nell'intestazione specifica il tipo di media della risorsa che stiamo inviando. Il tipo di media è anche comunemente noto come tipo MIME.
Se desideri conoscere i tipi di mimico, considera la risorsa fornita di seguito:
https: // linkfy.a/iana-mime-tipi
Per specificare il tipo di contenuto in una richiesta di curl, possiamo utilizzare il flag -h. Ad esempio, inviamo il tipo di applicazione MIME/JSON.
CURL -X POST -D “Nome utente”: “LinuxHint”, “Password”: “Password” -H “Content -Type: Application/JSON” https: // linuxhint.com/limitato/login.PHP
Quanto sopra specifica che vogliamo inviare un oggetto JSON all'URL fornito. Puoi usarlo per leggere i valori da un file JSON o inviarlo come RAW.
Come leggere i dati da un file
Supponiamo di voler effettuare richieste nella riga di comando utilizzando Curl, ma hai i dati da inviare in un file. È possibile utilizzare il tipo di contenuto per specificare il tipo di media e quindi passare il percorso del file contenente i dati. Per questo esempio, illustrerò l'uso di un oggetto JSON.
Il file JSON (dati.JSON) contiene i seguenti valori:
"Nome utente": "Linuxhint",
"Password": "Password"
Per inviare questi dati da un file JSON, possiamo utilizzare il -D e quindi passare il nome file come mostrato nel comando seguente:
Curl -x post -h “Content -Type: Application/JSON” -D “@Data.json "https: // linuxhint.com/limitato/login.PHP
Puoi anche usare l'opzione -data -binaria.
Curl -x Post -H “Content -Type: Application/JSON” -DATA -BINARY “@/home/utente/dati.json "https: // linuxhint.com/limitato/login.PHP
È inoltre possibile utilizzare un file di testo per inviare i dati; Tutto ciò che devi specificare è il tipo di contenuto come testo/semplice.
Ad esempio, un file di testo (dati.txt) contenente i seguenti valori
nome utente = linuxhint e password = password
Utilizzando il comando Curl, inviare semplicemente la richiesta come:
Curl -x post -h “Content -Type: Testo/semplice” -D “Dati.txt ”https: // linuxhint.com/limitato/login.PHP
Puoi utilizzare altri tipi di file che puoi utilizzare come XML, HTML e molti altri.
Conclusione
In questo tutorial, abbiamo discusso di come effettuare richieste post e passare i dati in vari formati. È bene tenere presente che oltre ad essere molto potente, anche il ricciolo è molto flessibile. Può combinare una raccolta di opzioni in un unico comando per creare richieste potenti. Per ulteriori informazioni, raccomando la documentazione Curl in quanto è ben scritta.
https: // curl.se/docs/
Grazie per aver letto e divertiti con Curl.