Come utilizzare i dati dei post di cURL da file

How Use Curl Post Data From File



cURL è un'utilità da riga di comando gratuita e open source utilizzata per il trasferimento di dati da o verso un host remoto con un'interazione minima dell'utente. cURL funziona con protocolli primari come HTTP, FTP, SCP e SFTP.

Consente agli utenti di caricare e scaricare dati utilizzando singoli comandi o script bash. Fornisce inoltre funzionalità come l'autenticazione dell'utente, il tunneling proxy, la ripresa del download, i caricamenti basati su moduli, i 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 ricordare che questa non è una guida per principianti a cURL; è necessario un certo grado di know-how, in particolare la conoscenza dei protocolli di rete, delle richieste HTTP e altro ancora.



Prima di poterci immergere nell'uso di cURL per eseguire richieste POST, dobbiamo prima eseguire l'installazione.





Come installare cURL

Nella maggior parte dei casi, troverai cURL installato nelle principali distribuzioni Linux per impostazione predefinita. Per confermare di avere cURL, usa il comando

curl –-aiuto

Se ricevi un errore:



-bash: curl:comandonon trovato

Dovrai installarlo prima di procedere.

Utilizzare il gestore di pacchetti predefinito per completare l'installazione come mostrato nei comandi seguenti:

sudo apt-get update

sudo apt-get installarricciare-e

Prima di discutere su come eseguire il POST dei dati da un file con cURL, permettetemi di parlare brevemente della richiesta POST. Come al solito, se hai già familiarità con questo, puoi sentirti libero di saltare avanti; altrimenti, resta.

cURL POST Richiesta

La richiesta post HTTP è uno dei metodi di richiesta HTTP/HTTPS più diffusi utilizzati per inviare 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 tramite una richiesta POST sono principalmente archiviati nel corpo della richiesta HTTP.

Ad esempio, considera la seguente richiesta POST che invia nome utente e password, nonché i loro valori.

INVIARE/limitato/login.php HTTP/1.1Host: linuxhint.com Tipo di contenuto: applicazione/x-www-form-urlencodednome utente=linuxhint&parola d'ordine=password

Per inviare la richiesta POST sopra utilizzando cURL, possiamo specificare i comandi come:

arricciare-XINVIARE-D nome utente=linuxhint&parola d'ordine=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 è Content-Type: application/x-www-form-urlencoded

L'opzione -X specifica il metodo di richiesta HTTP da utilizzare, in questo caso, la richiesta HTTP POST.

cURL Specifica il tipo di contenuto

In alcuni casi, potremmo voler specificare [esplicitamente] il Content-Type quando si invia la richiesta. L'entità Content-Type nell'intestazione specifica il tipo di supporto della risorsa che stiamo inviando. Il tipo di supporto è anche comunemente noto come tipo MIME.

Se desideri conoscere i tipi MIME, considera la risorsa fornita di seguito:

https://linkfy.to/IANA-MIME-Types

Per specificare il Content-Type in una richiesta cURL, possiamo usare il flag -H. Ad esempio, inviamo MIME Type of application/JSON.

arricciare-XINVIARE-D {nome utente: linuxhint, password: password} -HTipo di contenuto: applicazione/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 i dati da inviare sono archiviati in un file. È possibile utilizzare Content-Type per specificare il tipo di supporto e quindi passare il percorso del file contenente i dati. Per questo esempio, illustrerò l'utilizzo di un oggetto JSON.

Il file JSON (data.json) contiene i seguenti valori:

{
'nome utente':'linuxhint',
'parola d'ordine':'parola d'ordine'
}

Per inviare questi dati da un file JSON, possiamo usare -d e quindi passare il nome del file come mostrato nel comando seguente:

arricciare-XINVIARE-HTipo di contenuto: applicazione/json-D @data.json https://linuxhint.com/limitato/login.php

Puoi anche usare l'opzione –data-binary.

arricciare-XINVIARE-HTipo di contenuto: applicazione/json--data-binary @ /casa/utente/data.json https://linuxhint.com/limitato/login.php

Puoi anche utilizzare un file di testo per inviare i dati; tutto ciò che devi specificare è il tipo di contenuto come testo/normale.

Ad esempio, un file di testo (data.txt) contenente i seguenti valori

nome utente=linuxhint&parola d'ordine=password

Usando il comando cURL, invia semplicemente la richiesta come:

arricciare-XINVIARE-HTipo di contenuto: testo/pianura-Ddata.txt https://linuxhint.com/limitato/login.php

Puoi usare altri tipi di file che puoi usare come XML, HTML e molti altri.

Conclusione

In questo tutorial, abbiamo discusso su come effettuare richieste POST e passare dati in vari formati. È bene tenere presente che oltre ad essere molto potente, cURL è anche molto flessibile. Può combinare una raccolta di opzioni in un singolo comando per creare richieste potenti. Per ulteriori informazioni, consiglio la documentazione di cURL in quanto è ben scritta.

https://curl.se/docs/

Grazie per aver letto e divertiti con cURL.