ringla

Hur man använder cURL-postdata från fil

Hur man använder cURL-postdata från fil

cURL är ett gratis kommandoradsverktyg med öppen källkod som används för att överföra data till eller från en fjärrvärd med minimal användarinteraktion. cURL fungerar med primära protokoll som HTTP, FTP, SCP och SFTP.

Det tillåter användare att ladda upp och ladda ner data antingen med enkla kommandon eller bash-skript. Den tillhandahåller också funktioner som användarautentisering, proxytunnel, nedladdnings CV, formulärbaserade uppladdningar, SSL-certifikat och så mycket mer. Det är säkert att säga att cURL är mer än en HTTP-klient.

Denna handledning kommer att gå igenom en cURL-funktion som gör det möjligt för användare att utföra HTTP-postförfrågningar med fildata.

Innan vi börjar, låt mig nämna att detta inte är en nybörjarguide för CURL; du behöver en viss tidigare kunskap, särskilt kunskap om nätverksprotokoll, HTTP-förfrågningar och mer.

Innan vi kan dyka in i att använda cURL för att utföra POST-förfrågningar, låt oss först komma igång.

Hur man installerar cURL

I de flesta fall hittar du cURL installerat i större Linux-distributioner som standard. Använd kommandot för att bekräfta att du har CURL

curl --hjälp

Om du får ett fel:

-bash: curl: kommandot hittades inte

Du måste installera den innan du fortsätter.

Använd standardpakethanteraren för att slutföra installationen som visas i kommandona nedan:

sudo apt-get-uppdatering
sudo apt-get install curl -y

Innan jag diskuterar hur jag POSTar data från en fil med cURL, låt mig berätta kort om POST-begäran. Som vanligt, om du redan är bekant med detta kan du gärna hoppa över; annars, håll dig kvar.

CURL POST-begäran

HTTP-postbegäran är en av de mest populära metoderna för HTTP / HTTPS-begäran som används för att skicka data till en fjärrvärd för att skapa eller uppdatera en resurs.

Nu:

Förväxla inte metoden med PUT; även om de är ganska lika har de skillnader.

Data som skickas med en POST-begäran lagras huvudsakligen i HTTP-begärans begäran.

Tänk till exempel på POST-begäran nedan som skickar användarnamn och lösenord samt deras värden.

POST / begränsad / inloggning.php HTTP / 1.1 Värd: linuxhint.com Innehållstyp: applikation / x-www-form-urlencoded användarnamn = linuxhint & lösenord = lösenord

För att skicka ovanstående POST-begäran med cURL kan vi ange kommandona som:

curl -x POST -d “användarnamn = linuxhint & lösenord = lösenord” https: // linuxhint.com / begränsad / inloggning.php

I ovanstående kommando använde vi alternativet -d för att berätta för cURL att inkludera standardrubrikerna, vilket är Content-Type: application / x-www-form-urlencoded

Alternativet -X anger vilken HTTP-begäran som ska användas, i detta fall HTTP POST-begäran.

cURL Ange innehållstyp

I vissa fall kanske vi vill ange [uttryckligen] innehållstypen när vi skickar begäran. Innehållet Content-Type i rubriken anger typen av media för den resurs som vi skickar. Mediatypen är också allmänt känd som MIME-typen.

Om du vill lära dig mer om MIME-typer, överväg resursen nedan:

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

För att specificera innehållstypen i en cURL-begäran kan vi använda flaggan -H. Låt oss till exempel skicka MIME-applikationstyp / JSON.

curl -X POST -d “användarnamn”: “linuxhint”, “lösenord”: “lösenord” -H “Innehållstyp: applikation / json” https: // linuxhint.com / begränsad / inloggning.php

Ovanstående specificerar att vi vill skicka ett JSON-objekt till den angivna URL: n. Du kan använda detta för att läsa värdena från en JSON-fil eller skicka den som rå.

Hur man läser data från en fil

Antag att du vill göra förfrågningar på kommandoraden med cURL, men att du har informationen att skicka lagrad i en fil. Du kan använda innehållstypen för att ange medietypen och sedan skicka filvägen som innehåller data. För detta exempel kommer jag att illustrera med ett JSON-objekt.

JSON-filen (data.json) innehåller följande värden:


"användarnamn": "linuxhint",
"password": "lösenord"

För att skicka dessa data från en JSON-fil kan vi använda -d och sedan skicka filnamnet som visas i kommandot nedan:

curl -X POST -H “Content-Type: application / json” -d “@data.json ”https: // linuxhint.com / begränsad / inloggning.php

Du kan också använda alternativet -data-binärt.

curl -X POST -H “Content-Type: application / json” --data-binary “@ / home / user / data.json ”https: // linuxhint.com / begränsad / inloggning.php

Du kan också använda en textfil för att skicka data; allt du behöver ange är innehållstypen som text / vanlig.

Till exempel en textfil (data.txt) som innehåller följande värden

användarnamn = linuxhint & lösenord = lösenord

Med kommandot cURL, skicka helt enkelt begäran som:

curl -X POST -H “Content-Type: text / plain” -d “data.txt ”https: // linuxhint.com / begränsad / inloggning.php

Du kan använda andra filtyper som du kan använda som XML, HTML och många fler.

Slutsats

I denna handledning har vi diskuterat hur man gör POST-förfrågningar och skickar data i olika format. Det är bra att komma ihåg att förutom att vara mycket kraftfull är cURL också mycket flexibel. Det kan kombinera en samling alternativ i ett enda kommando för att skapa kraftfulla förfrågningar. För mer information rekommenderar jag cURL-dokumentationen eftersom den är välskriven.

https: // curl.se / docs /

Tack för att du läste och ha kul med CURL.

Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jag har nyligen läst om Microsoft Sculpt Touch trådlös mus och bestämde mig för att köpa den. Efter att ha använt den ett tag bestämde jag mig för att...
Mus AppyMouse styrplatta och muspekare för Windows-surfplattor
AppyMouse styrplatta och muspekare för Windows-surfplattor
Surfplattanvändare saknar ofta muspekaren, särskilt när de brukar använda bärbara datorer. Pekskärmen Smartphones och surfplattor har många fördelar o...
Mus Mellan musknappen fungerar inte i Windows 10
Mellan musknappen fungerar inte i Windows 10
De mittknappen hjälper dig att bläddra igenom långa webbsidor och skärmar med mycket data. Om det slutar, kommer du sluta använda tangentbordet för at...