krølle

Sådan bruges cURL-postdata fra fil

Sådan bruges cURL-postdata fra fil

cURL er et gratis og open source kommandolinjeprogram, der bruges til at overføre data til eller fra en ekstern vært med minimal brugerinteraktion. cURL fungerer med primære protokoller som HTTP, FTP, SCP og SFTP.

Det giver brugerne mulighed for at uploade og downloade data enten ved hjælp af enkeltkommandoer eller bash-scripts. Det giver også funktioner som brugergodkendelse, proxy-tunneling, download CV, formbaserede uploads, SSL-certifikater og så meget mere. Det er sikkert at sige, at cURL er mere end en HTTP-klient.

Denne vejledning gennemgår en cURL-funktionalitet, der giver brugerne mulighed for at udføre HTTP-postanmodninger ved hjælp af fildata.

Før vi går i gang, lad mig nævne, at dette ikke er en begyndervejledning til CURL; du har brug for en vis forudgående know-how, især viden om netværksprotokoller, HTTP-anmodninger og mere.

Før vi kan dykke ind i at bruge cURL til at udføre POST-anmodninger, skal vi først komme i gang.

Sådan installeres cURL

I de fleste tilfælde finder du cURL installeret i større Linux-distributioner som standard. Brug kommandoen for at bekræfte, at du har CURL

krølle - hjælp

Hvis du får en fejl:

-bash: curl: kommandoen blev ikke fundet

Du bliver nødt til at installere det, før du fortsætter.

Brug standardpakkehåndtering til at fuldføre installationen som vist i nedenstående kommandoer:

sudo apt-get opdatering
sudo apt-get install krølle -y

Før jeg diskuterer, hvordan jeg POSTer data fra en fil med cURL, tillad mig at tale kort om POST-anmodningen. Som sædvanlig, hvis du allerede er fortrolig med dette, er du velkommen til at springe videre; ellers skal du holde fast.

CURL POST-anmodning

HTTP-postanmodning er en af ​​de mest populære HTTP / HTTPS-anmodningsmetoder, der bruges til at sende data til en ekstern vært for at oprette eller opdatere en ressource.

Nu:

Forveksl ikke metoden med PUT; selvom de er ret ens, har de deres forskelle.

Dataene, der sendes ved hjælp af en POST-anmodning, lagres hovedsagelig i HTTP-anmodningens anmodningsorgan.

Overvej f.eks. Nedenstående POST-anmodning, der sender brugernavn og adgangskode samt deres værdier.

POST / begrænset / login.php HTTP / 1.1 vært: linuxhint.com Indholdstype: applikation / x-www-form-urlencoded brugernavn = linuxhint & password = adgangskode

For at sende ovenstående POST-anmodning ved hjælp af cURL kan vi specificere kommandoerne som:

curl -x POST -d “brugernavn = linuxhint & adgangskode = adgangskode” https: // linuxhint.com / begrænset / login.php

I ovenstående kommando brugte vi indstillingen -d til at fortælle cURL at inkludere standardoverskrifterne, som er Content-Type: application / x-www-form-urlencoded

Indstillingen -X specificerer HTTP-anmodningsmetoden, der skal bruges, i dette tilfælde HTTP POST-anmodning.

cURL Angiv indholdstype

I nogle tilfælde vil vi muligvis specificere [eksplicit] indholdstypen, når anmodningen sendes. Indholdstypenheden i overskriften specificerer medietypen for den ressource, vi sender. Medietypen er også almindeligt kendt som MIME-typen.

Hvis du ønsker at lære om MIME-typer, skal du overveje ressourcen nedenfor:

https: // linkfy.til / IANA-MIME-typer

For at specificere indholdstypen i en cURL-anmodning kan vi bruge -H-flag. Lad os for eksempel sende MIME-applikationstype / JSON.

curl -X POST -d “brugernavn”: “linuxhint”, “adgangskode”: “adgangskode” -H “Indholdstype: applikation / json” https: // linuxhint.com / begrænset / login.php

Ovenstående specificerer, at vi vil sende et JSON-objekt til den angivne URL. Du kan bruge dette til at læse værdierne fra en JSON-fil eller sende den som rå.

Sådan læses data fra en fil

Antag at du vil fremsætte anmodninger på kommandolinjen ved hjælp af cURL, men at du har de data, der skal sendes, gemt i en fil. Du kan bruge indholdstypen til at specificere medietypen og derefter videregive filstien, der indeholder dataene. I dette eksempel vil jeg illustrere ved hjælp af et JSON-objekt.

JSON-filen (data.json) indeholder følgende værdier:


"brugernavn": "linuxhint",
"password": "password"

For at sende disse data fra en JSON-fil kan vi bruge -d og derefter videregive filnavnet som vist i kommandoen nedenfor:

curl -X POST -H “Content-Type: application / json” -d “@data.json ”https: // linuxhint.com / begrænset / login.php

Du kan også bruge indstillingen -data-binær.

curl -X POST -H “Content-Type: application / json” --data-binær “@ / home / user / data.json ”https: // linuxhint.com / begrænset / login.php

Du kan også bruge en tekstfil til at sende dataene; alt hvad du skal angive er indholdstypen som tekst / almindelig.

For eksempel en tekstfil (data.txt) indeholdende følgende værdier

brugernavn = linuxhint & adgangskode = adgangskode

Brug kommandoen cURL til at sende anmodningen som:

curl -X POST -H “Content-Type: text / plain” -d “data.txt ”https: // linuxhint.com / begrænset / login.php

Du kan bruge andre filtyper, du kan bruge, såsom XML, HTML og mange flere.

Konklusion

I denne vejledning har vi diskuteret, hvordan man laver POST-anmodninger og videregiver data i forskellige formater. Det er godt at huske på, at udover at være meget kraftfuld, er cURL også meget fleksibel. Det kan kombinere en samling af muligheder i en enkelt kommando for at oprette kraftige anmodninger. For mere information anbefaler jeg cURL-dokumentationen, da den er velskrevet.

https: // krølle.se / docs /

Tak fordi du læste, og have det sjovt med cURL.

Sådan vises FPS-tæller i Linux-spil
Linux-spil fik et stort skub, da Valve annoncerede Linux-support til Steam-klient og deres spil i 2012. Siden da har mange AAA- og indiespil fundet ve...
Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...
Sådan installeres og afspilles Doom på Linux
Introduktion til undergang Doom-serien opstod i 90'erne efter frigivelsen af ​​den originale Doom. Det var et øjeblikkeligt hit, og fra den tid af har...