cURL è un progetto di software per computer che fornisce una libreria e uno strumento da riga di comando per il trasferimento di dati utilizzando vari protocolli di rete. Il nome sta per “URL client”, ed è stato rilasciato per la prima volta nel 1997.

Se ti sei mai chiesto qual è l’equivalente del comando cURL in Powershell, sei nel posto giusto!

cURL in Powershell

Eseguire un cURL in Powershell è questione di pochi secondi. Il comando è Invoke-WebRequest ma per semplicità viene incluso un alias che ha la stessa nomenclatura del comando Unix.

Per prima cosa, dopo aver aperto una finestra Powershell, dobbiamo definire l’eventuale contenuto della richiesta che vogliamo effettuare. In questo esempio andremo ad eseguire una richiesta POST contenente alcune informazioni di un ipotetico messaggio da inviare ad un destinatario:

Copy to Clipboard

con questo comando, andiamo a creare un blocco di dati contenente 2 parametri di esempio: destinatariomessaggio.

A questo punto non ci resta che inviare il messaggio ad un server in ascolto. Supponiamo che il mio server sia raggiungibile all’indirizzo IP 192.168.178.31, porta 8080 e che ci sia una risorsa chiamata sendmessage pronta a ricevere le mie richieste e ad inviare i messaggi all’utente specificato.

Ciò è possibile grazie al seguente comando:

Copy to Clipboard

come ti dicevo poco fa, utilizziamo un alias che riporta la stessa sintassi del comando cURL, dove, con l’opzione -Uri si specifica l’indirizzo a cui fare riferimento,  attraverso l’opzione -Method specifichiamo poi il tipo di richiesta, e con l’opzione -Body passiamo il corpo della richiesta.

In caso di una richiesta GET, non sarà necessario passare alcun -Body, bensì potremo eseguire la richiesta con il seguente comando:

Copy to Clipboard

Conclusioni

In questo breve articolo abbiamo visto come utilizzare cURL in Powershell. Questo comando permette di trasferire dati usando diversi protocolli di comunicazione. Spesso viene utilizzato per inviare richieste POST e GET in HTTP. In Powershell, cURL è un alias di Invoke-WebRequest che espone la stessa sintassi del comando Unix.