Hoe cURL Post-gegevens uit bestand te gebruiken

How Use Curl Post Data From File



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 ingaan op het gebruik van cURL om POST-verzoeken uit te voeren, moeten we eerst de installatie uitvoeren.





Hoe cURL . te installeren

In de meeste gevallen vindt u 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: krul:opdrachtniet 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 installKrul-en

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; blijf anders 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.

nutsvoorzieningen :

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 hoofdtekst van het HTTP-verzoek.

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

NA/beperkt/login.php HTTP/1.1Host: linuxhint.com Inhoudstype: applicatie/x-www-form-urlencodedgebruikersnaam=linuxhint&wachtwoord=wachtwoord

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

Krul-xNA-NS gebruikersnaam=linuxhint&wachtwoord= 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 mogelijk [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.to/IANA-MIME-Types

Om het Content-Type in een cURL-verzoek te specificeren, kunnen we de vlag -H gebruiken. Laten we bijvoorbeeld MIME Type applicatie/JSON sturen.

Krul-XNA-NS {gebruikersnaam: linuxhint, wachtwoord: wachtwoord} -HInhoudstype: 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 door te geven. Voor dit voorbeeld zal ik het gebruik van een JSON-object illustreren.

Het JSON-bestand (data.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:

Krul-XNA-HInhoudstype: applicatie/json-NS @data.json https://linuxhint.com/beperkt/login.php

U kunt ook de optie –data-binary gebruiken.

Krul-XNA-HInhoudstype: applicatie/json--data-binair @ /huis/gebruiker/data.json https://linuxhint.com/beperkt/login.php

U kunt ook een tekstbestand gebruiken om de gegevens te verzenden; alles wat u hoeft te specificeren is het Content-Type 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:

Krul-XNA-HInhoudstype: tekst/vlak-NSdata.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 in gedachten te houden 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 creëren. Voor meer informatie raad ik de cURL-documentatie aan, omdat deze goed is geschreven.

https://curl.se/docs/

Bedankt voor het lezen en veel plezier met cURL.