krullen

Hoe cURL Post-gegevens uit bestand te gebruiken

Hoe cURL Post-gegevens uit bestand te gebruiken

cURL is een gratis en open-source opdrachtregelprogramma dat wordt gebruikt voor het overbrengen van gegevens van of naar een externe host met minimale gebruikersinteractie. cURL werkt met primaire protocollen zoals HTTP, FTP, SCP en SFTP.

Hiermee kunnen gebruikers gegevens uploaden en downloaden met behulp van enkele opdrachten of bash-scripts. Het biedt ook functies zoals gebruikersauthenticatie, proxy-tunneling, download-cv, op formulieren gebaseerde uploads, SSL-certificaten en nog veel meer. Het is veilig om te zeggen dat cURL meer is dan een HTTP-client.

Deze tutorial leidt je door één cURL-functionaliteit waarmee gebruikers HTTP-postverzoeken kunnen uitvoeren met behulp van bestandsgegevens.

Voordat we beginnen, wil ik vermelden dat dit geen beginnershandleiding voor cURL is; je hebt een zekere voorkennis nodig, met name kennis van netwerkprotocollen, HTTP-verzoeken en meer.

Voordat we kunnen duiken in het gebruik van cURL om POST-verzoeken uit te voeren, laten we eerst de installatie uitvoeren.

Hoe cURL . te installeren

In de meeste gevallen is cURL standaard geïnstalleerd in de belangrijkste Linux-distributies. Gebruik het commando om te bevestigen dat je cURL hebt

krul --help

Als u een foutmelding krijgt:

-bash: curl: opdracht niet gevonden

U moet het installeren voordat u doorgaat.

Gebruik de standaardpakketbeheerder om de installatie te voltooien, zoals weergegeven in de onderstaande opdrachten:

sudo apt-get update
sudo apt-get install curl -y

Alvorens te bespreken hoe u gegevens uit een bestand met cURL kunt POST, wil ik u in het kort over het POST-verzoek vertellen. Zoals gewoonlijk, als u hiermee al bekend bent, kunt u gerust doorgaan; anders, blijf in de buurt.

cURL POST-verzoek

Het HTTP-postverzoek is een van de meest populaire HTTP/HTTPS-verzoekmethoden die wordt gebruikt om gegevens naar een externe host te verzenden om een ​​bron te maken of bij te werken.

Nu:

Verwar de methode niet met PUT; hoewel ze behoorlijk op elkaar lijken, hebben ze hun verschillen.

De gegevens die met een POST-verzoek worden verzonden, worden voornamelijk opgeslagen in de verzoektekst van het HTTP-verzoek.

Overweeg bijvoorbeeld het onderstaande POST-verzoek dat gebruikersnaam en wachtwoord verzendt, evenals hun waarden:.

POST /beperkt/login.php HTTP/1.1 Host: linuxhint.com Inhoudstype: application/x-www-form-urlencoded gebruikersnaam=linuxhint&password=password

Om het bovenstaande POST-verzoek met cURL te verzenden, kunnen we de opdrachten specificeren als:

curl -x POST -d “gebruikersnaam=linuxhint&password=wachtwoord” https://linuxhint.com/beperkt/login.php

In de bovenstaande opdracht hebben we de optie -d gebruikt om cURL te vertellen om de standaardheaders op te nemen, namelijk Content-Type: application/x-www-form-urlencoded

De optie -X specificeert de HTTP-verzoekmethode die moet worden gebruikt, in dit geval HTTP POST-verzoek.

cURL Specificeer inhoudstype

In sommige gevallen willen we misschien [expliciet] het inhoudstype specificeren bij het verzenden van het verzoek. De entiteit Content-Type in de koptekst specificeert het type media van de bron die we verzenden. Het mediatype is ook algemeen bekend als het MIME-type.

Als u meer wilt weten over MIME-typen, overweeg dan de onderstaande bron:

https://linkfy.naar/IANA-MIME-types

Om het inhoudstype in een cURL-verzoek te specificeren, kunnen we de vlag -H gebruiken. Laten we bijvoorbeeld MIME-type applicatie/JSON verzenden.

curl -X POST -d “gebruikersnaam”: “linuxhint”, “wachtwoord”: “wachtwoord” -H “Inhoudstype: applicatie/json” https://linuxhint.com/beperkt/login.php

Het bovenstaande geeft aan dat we een JSON-object naar de opgegeven URL willen sturen. U kunt dit gebruiken om de waarden uit een JSON-bestand te lezen of het als onbewerkt te verzenden.

Gegevens uit een bestand lezen

Stel dat u verzoeken wilt doen in de opdrachtregel met behulp van cURL, maar u hebt de gegevens om te verzenden opgeslagen in een bestand. U kunt het inhoudstype gebruiken om het mediatype op te geven en vervolgens het bestandspad met de gegevens doorgeven. Voor dit voorbeeld zal ik het gebruik van een JSON-object illustreren.

Het JSON-bestand (gegevens.json) bevat de volgende waarden:


"gebruikersnaam": "linuxhint",
"wachtwoord": "wachtwoord"

Om deze gegevens vanuit een JSON-bestand te verzenden, kunnen we de -d gebruiken en vervolgens de bestandsnaam doorgeven zoals weergegeven in de onderstaande opdracht:

curl -X POST -H “Inhoudstype: applicatie/json” -d “@data.json” https://linuxhint.com/beperkt/login.php

U kunt ook de -data-binary optie . gebruiken.

curl -X POST -H “Inhoudstype: applicatie/json” --data-binary “@/home/gebruiker/data.json” https://linuxhint.com/beperkt/login.php

U kunt ook een tekstbestand gebruiken om de gegevens te verzenden; het enige dat u hoeft te specificeren is het inhoudstype als tekst/plat.

Bijvoorbeeld een tekstbestand (data.txt) met de volgende waarden:

gebruikersnaam=linuxhint&wachtwoord=wachtwoord

Gebruik de opdracht cURL om het verzoek eenvoudig te verzenden als:

curl -X POST -H “Inhoudstype: tekst/plat” -d “gegevens.txt” https://linuxhint.com/beperkt/login.php

U kunt andere bestandstypen gebruiken die u kunt gebruiken, zoals XML, HTML en nog veel meer.

Conclusie

In deze zelfstudie hebben we besproken hoe u POST-verzoeken kunt indienen en gegevens in verschillende indelingen kunt doorgeven. Het is goed om te onthouden dat cURL niet alleen erg krachtig is, maar ook erg flexibel is. Het kan een verzameling opties combineren in een enkele opdracht om krachtige verzoeken te maken. Voor meer informatie raad ik de cURL-documentatie aan, omdat deze goed is geschreven.

https://curl.zie/docs/

Bedankt voor het lezen en veel plezier met cURL.

Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...
Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...
Beste spellen om te spelen met handtracking
Oculus Quest introduceerde onlangs het geweldige idee van handtracking zonder controllers. Met een steeds toenemend aantal games en activiteiten die f...