Curl er et gratis og åpen kildekommandolinjeverktøy som brukes til å overføre data til eller fra en ekstern vert med minimal brukerinteraksjon. Curl jobber med primære protokoller som HTTP, FTP, SCP og SFTP.
Det lar brukere laste opp og laste ned data enten ved hjelp av enkeltkommandoer eller bash -skript. Den gir også funksjoner som bruker-autentisering, proxy tunneling, nedlasting 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 krøllfunksjonalitet som lar brukere utføre HTTP -postforespørsler ved hjelp av fildata.
Før vi kommer i gang, la meg nevne at dette ikke er en nybegynnerguide til Curl; Du trenger en grad av tidligere kunnskap, spesielt kunnskap om nettverksprotokoller, HTTP-forespørsler og mer.
Før vi kan dykke til å bruke Curl for å utføre postforespørsler, la oss først få oppsett.
Hvordan installere krøll
I de fleste tilfeller finner du Curl installert i store Linux -distribusjoner som standard. For å bekrefte at du har krøll, bruk kommandoen
krøll -hjelp
Hvis du får en feil:
-Bash: Curl: Kommando ikke funnet
Du må installere den før du fortsetter.
Bruk standard pakkebehandler for å fullføre installasjonen som vist i kommandoene nedenfor:
sudo apt-get oppdatering
sudo apt -get install curl -y
Før jeg diskuterer hvordan du legger ut data fra en fil med Curl, kan jeg snakke om innlegget om innlegget i korte trekk. Som vanlig, hvis du allerede er kjent med dette, kan du gjerne hoppe videre; Ellers hold deg rundt.
Curl Post Request
HTTP Post -forespørselen er en av de mest populære HTTP/HTTPS -forespørselsmetodene som brukes til å sende data til en ekstern vert for å opprette eller oppdatere en ressurs.
Nå:
Ikke forveksle metoden med Put; Selv om de er ganske like, har de sine forskjeller.
Dataene som sendes ved hjelp av en postforespørsel, lagres hovedsakelig i forespørselsorganet for HTTP -forespørselen.
Tenk for eksempel på etterforespørselen nedenfor som sender brukernavn og passord, så vel som deres verdier.
Post /Begrenset /pålogging.PHP HTTP/1.1 Vert: Linuxhint.com innholdstype: applikasjon/x-www-form-urlencoded brukernavn = linuxhint & passord = passord
For å sende ovennevnte postforespørsel ved hjelp av Curl, kan vi spesifisere kommandoene som:
Curl -x Post -D “Brukernavn = LinuxHint & Password = Password” https: // Linuxhint.com/begrenset/pålogging.PHP
I kommandoen ovenfor brukte vi -d-alternativet til å fortelle Curl for å inkludere standardoverskriftene, som er innholdstype: Application/X-Www-Form-Urlencoded
Alternativet -x spesifiserer HTTP -forespørselsmetoden som skal brukes, i dette tilfellet HTTP Post Request.
Curl Spesifiser innholdstype
I noen tilfeller kan det være lurt å spesifisere [eksplisitt] innholdstypen når du sender forespørselen. Innholdstypen i overskriften spesifiserer hvilken type medier i ressursen vi sender. Medietypen er også ofte kjent som MIME -typen.
Hvis du ønsker å lære om MIME -typer, bør du vurdere ressursen som er gitt nedenfor:
https: // linkfy.til/iana-mime-typer
For å spesifisere innholdstypen i en krøllforespørsel, kan vi bruke -H -flagget. La oss for eksempel sende mime type søknad/json.
Curl -x Post -D “Brukernavn”: “LinuxHint”, “Password”: “Password” -H “Content -Type: Application/JSON” https: // Linuxhint.com/begrenset/pålogging.PHP
Ovennevnte spesifiserer at vi ønsker å sende et JSON -objekt til den medfølgende 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 i kommandolinjen ved hjelp av Curl, men du har dataene å sende lagret i en fil. Du kan bruke innholdstypen til å spesifisere medietypen og deretter passere 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",
"Passord": "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 -data -binære alternativet.
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 for å sende dataene; Alt du trenger å spesifisere er innholdstypen som tekst/vanlig.
For eksempel en tekstfil (data.txt) som inneholder følgende verdier
Brukernavn = LinuxHint & Password = Passord
Bruke Curl -kommandoen, bare send 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 lager postforespørsler og passerer data i forskjellige formater. Det er godt å huske på at foruten å være veldig kraftig, er Curl også veldig fleksibel. Den kan kombinere en samling alternativer i en enkelt kommando for å lage kraftige forespørsler. For mer informasjon, anbefaler jeg Curl -dokumentasjonen som den er godt skrevet.
https: // krøll.SE/Dokumenter/
Takk for at du leser, og ha det gøy med Curl.