arricciare

Come utilizzare i dati dei post di cURL da file

Come utilizzare i dati dei post di cURL da 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, il ripristino 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.

Prima di poterci immergere nell'uso di cURL per eseguire le 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 --help

Se ricevi un errore:

-bash: curl: comando non 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 install curl -y

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 in giro.

cURL POST Richiesta

La richiesta di post HTTP è uno dei metodi di richiesta HTTP/HTTPS più popolari utilizzati per inviare dati a un host remoto per creare o aggiornare una risorsa.

Adesso:

Si prega di non confondere il metodo con PUT; anche se sono abbastanza simili, hanno le loro differenze.

I dati inviati utilizzando una richiesta POST sono principalmente archiviati nel corpo della richiesta della richiesta HTTP.

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

POST /limitato/login.php HTTP/1.1 Host: linuxhint.com Tipo di contenuto: application/x-www-form-urlencoded username=linuxhint&password=password

Per inviare la richiesta 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 è 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.a/IANA-MIME-Tipi

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

curl -X POST -d “username”: “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 di avere i dati da inviare memorizzati 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 (dati.json) contiene i seguenti valori:


"nome utente": "linuxhint",
"password": "password"

Per inviare questi dati da un file JSON, possiamo usare -d e quindi passare il nome del 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-binary.

curl -X POST -H “Content-Type: application/json” --data-binary “@/home/user/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

nomeutente=linuxhint&password=password

Usando il comando cURL, invia semplicemente la richiesta come:

curl -X POST -H “Content-Type: text/plain” -d “data.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.

Come modificare il puntatore del mouse e le dimensioni, il colore e lo schema del cursore su Windows 10
Il puntatore del mouse e il cursore in Windows 10 sono aspetti molto importanti del sistema operativo. Questo si può dire anche per altri sistemi oper...
Motori di gioco gratuiti e open source per lo sviluppo di giochi Linux
Questo articolo tratterà un elenco di motori di gioco gratuiti e open source che possono essere utilizzati per lo sviluppo di giochi 2D e 3D su Linux....
Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...