krølle

Hvordan bruke cURL-postdata fra fil

Hvordan bruke cURL-postdata fra fil

cURL er et gratis kommandolinjeprogram med åpen kildekode som brukes til å overføre data til eller fra en ekstern vert med minimal brukerinteraksjon. cURL fungerer med primære protokoller som HTTP, FTP, SCP og SFTP.

Det lar brukerne laste opp og laste ned data enten ved hjelp av enkeltkommandoer eller bash-skript. Det gir også funksjoner som brukerautentisering, proxy-tunneling, nedlastings CV, formbaserte opplastinger, SSL-sertifikater og så mye mer. Det er trygt å si at cURL er mer enn en HTTP-klient.

Denne opplæringen vil lede deg gjennom en cURL-funksjonalitet som lar brukerne utføre HTTP-innleggsforespørsler ved hjelp av fildata.

Før jeg setter i gang, la meg nevne at dette ikke er en nybegynnerveiledning for CURL; du trenger en viss kunnskap, spesielt kunnskap om nettverksprotokoller, HTTP-forespørsler og mer.

Før vi kan dykke inn i å bruke cURL til å utføre POST-forespørsler, la oss først få oppsettet.

Slik installerer du cURL

I de fleste tilfeller vil du finne cURL installert i store Linux-distribusjoner som standard. Bruk kommandoen for å bekrefte at du har CURL

krølle --hjelp

Hvis du får en feil:

-bash: curl: kommandoen ble ikke funnet

Du må installere den før du fortsetter.

Bruk standard pakkebehandling for å fullføre installasjonen som vist i kommandoene nedenfor:

sudo apt-get oppdatering
sudo apt-get install curl -y

Før jeg diskuterer hvordan POST data fra en fil med cURL, la meg snakke kort om POST-forespørselen. Som vanlig, hvis du allerede er kjent med dette, kan du gjerne hoppe videre; ellers, hold deg rundt.

cURL POST-forespørsel

HTTP-postforespørsel er en av de mest populære metodene for HTTP / HTTPS-forespørsel som brukes til å sende data til en ekstern vert for å opprette eller oppdatere en ressurs.

:

Vennligst ikke forveksle metoden med PUT; Selv om de er ganske like, har de forskjellene.

Dataene som sendes ved hjelp av en POST-forespørsel, lagres hovedsakelig i forespørselen i HTTP-forespørselen.

Vurder for eksempel POST-forespørselen nedenfor som sender brukernavn og passord, samt verdiene deres.

POST / begrenset / pålogging.php HTTP / 1.1 Vert: linuxhint.com Innholdstype: applikasjon / x-www-form-urlencoded brukernavn = linuxhint & passord = passord

For å sende ovennevnte POST-forespørsel ved hjelp av cURL, kan vi spesifisere kommandoene som:

curl -x POST -d “brukernavn = linuxhint & passord = passord” https: // linuxhint.com / begrenset / pålogging.php

I kommandoen ovenfor brukte vi alternativet -d for å fortelle cURL å inkludere standard overskrifter, som er Content-Type: application / x-www-form-urlencoded

Alternativet -X spesifiserer HTTP-forespørselsmetoden som skal brukes, i dette tilfellet HTTP POST-forespørsel.

cURL Angi innholdstype

I noen tilfeller vil vi kanskje spesifisere [eksplisitt] innholdstypen når vi sender forespørselen. Content-Type-enheten i overskriften spesifiserer medietypen til ressursen vi sender. Medietypen er også kjent som MIME-typen.

Hvis du ønsker å lære om MIME-typer, bør du vurdere ressursen nedenfor:

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

For å spesifisere innholdstypen i en cURL-forespørsel, kan vi bruke -H-flagget. La oss for eksempel sende MIME-applikasjonstype / JSON.

curl -X POST -d “brukernavn”: “linuxhint”, “passord”: “passord” -H “Innholdstype: applikasjon / json” https: // linuxhint.com / begrenset / pålogging.php

Ovennevnte spesifiserer at vi vil sende et JSON-objekt til den angitte URL-en. Du kan bruke dette til å lese verdiene fra en JSON-fil eller sende den som rå.

Hvordan lese data fra en fil

Anta at du vil komme med forespørsler på kommandolinjen ved hjelp av cURL, men at du har dataene du skal sende, lagret i en fil. Du kan bruke innholdstypen til å spesifisere medietypen og deretter sende filstien som inneholder dataene. For dette eksemplet vil jeg illustrere ved hjelp av et JSON-objekt.

JSON-filen (data.json) inneholder følgende verdier:


"brukernavn": "linuxhint",
"password": "passord"

For å sende disse dataene fra en JSON-fil, kan vi bruke -d og deretter sende filnavnet som vist i kommandoen nedenfor:

curl -X POST -H “Content-Type: application / json” -d “@data.json ”https: // linuxhint.com / begrenset / pålogging.php

Du kan også bruke alternativet -data-binært.

curl -X POST -H “Content-Type: application / json” --data-binary “@ / home / user / data.json ”https: // linuxhint.com / begrenset / pålogging.php

Du kan også bruke en tekstfil til å sende dataene; alt du trenger å spesifisere er innholdstypen som tekst / vanlig.

For eksempel en tekstfil (data.txt) som inneholder følgende verdier

brukernavn = linuxhint & passord = passord

Ved å bruke cURL-kommandoen, send bare forespørselen som:

curl -X POST -H “Content-Type: text / plain” -d “data.txt ”https: // linuxhint.com / begrenset / pålogging.php

Du kan bruke andre filtyper du kan bruke, for eksempel XML, HTML og mange flere.

Konklusjon

I denne opplæringen har vi diskutert hvordan du kan lage POST-forespørsler og sende data i forskjellige formater. Det er godt å huske på at i tillegg til å være veldig kraftig, er cURL også veldig fleksibel. Det kan kombinere en samling alternativer i en enkelt kommando for å lage kraftige forespørsler. For mer informasjon, anbefaler jeg cURL-dokumentasjonen ettersom den er godt skrevet.

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

Takk for at du leser, og ha det gøy med CURL.

Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...
Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...