15 tip til, hvordan man bruger Curl Command i Linux


Tilbage i midten af 1990'erne, da Internettet stadig var i sin barndom, startede en svensk programmør ved navn Daniel Stenberg et projekt, der til sidst voksede til det, vi kender som krølle i dag.

Oprindeligt sigtede han mod at udvikle en bot, der periodisk ville downloade valutakurser fra en webside og ville give svenske kroner ækvivalenter i amerikanske dollars til IRC-brugere.

Lang historie kort, projektet blomstrede og tilføjede flere protokoller og funktioner undervejs - og resten er historie. Lad os nu dykke ind med begge fødder og lære at bruge krølle til at overføre data og mere i Linux!

Vi har sammensat følgende liste med 15 curl-kommandoer til dig.

1. Se krølleversion

Valgmulighederne -V eller --version returnerer ikke kun versionen, men også de understøttede protokoller og funktioner i din nuværende version.

$ curl --version

curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets 

2. Download en fil

Hvis du vil downloade en fil, kan du bruge krølning med indstillingerne -O eller -o . Førstnævnte gemmer filen i den aktuelle arbejdsmappe med samme navn som i den eksterne placering, mens sidstnævnte giver dig mulighed for at angive et andet filnavn og/eller placering.

$ curl -O http://yourdomain.com/yourfile.tar.gz # Save as yourfile.tar.gz
$ curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz # Save as newfile.tar.gz

3. Genoptag en afbrudt download

Hvis en download blev afbrudt af en eller anden grund (f.eks. Ved hjælp af Ctrl + c ), kan du genoptage den meget let. Brug af -C - (bindestreg C, mellemrumstast) fortæller krøller at genoptage download-begyndelsen, hvor den slap.

$ curl -C - -O http://yourdomain.com/yourfile.tar.gz

4. Download flere filer

Med følgende kommando downloader du info.html og about.html fra henholdsvis http://yoursite.com og http://mysite.com på én gang.

$ curl -O http://yoursite.com/info.html -O http://mysite.com/about.html 

5. Download URL'er fra en fil

Hvis du kombinerer krøller med xargs, kan du downloade filer fra en liste over webadresser i en fil.

$ xargs -n 1 curl -O < listurls.txt

6. Brug en proxy med eller uden godkendelse

Hvis du står bag en proxyserver, der lytter til port 8080 på proxy.yourdomain.com, skal du gøre det.

$ curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz

hvor du kan springe over -U-bruger: adgangskode, hvis din proxy ikke kræver godkendelse.

7. Forespørg HTTP-overskrifter

HTTP-headere gør det muligt for den eksterne webserver at sende yderligere oplysninger om sig selv sammen med den faktiske anmodning. Dette giver klienten detaljer om, hvordan anmodningen håndteres.

For at forespørge HTTP-overskrifter fra et websted skal du gøre:

$ curl -I linux-console.net

Disse oplysninger er også tilgængelige i din browsers udviklerværktøjer.

8. Foretag en POST-anmodning med parametre

Den følgende kommando sender parametre fornavn og efternavn sammen med deres tilsvarende værdier til https://yourdomain.com/info.php.

$ curl --data "firstName=John&lastName=Doe" https://yourdomain.com/info.php

Du kan bruge dette tip til at simulere opførelsen af en almindelig HTML-form.

9. Download filer fra en FTP-server med eller uden godkendelse

Hvis en ekstern FTP-server forventer forbindelser på ftp:/yourftpserver, vil følgende kommando downloade yourfile.tar.gz i den aktuelle arbejdsmappe.

$ curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz 

hvor du kan springe over -u brugernavn: adgangskode, hvis FTP-serveren tillader anonyme logins.

10. Upload filer til en FTP-server med eller uden godkendelse

For at uploade en lokal fil med navnet mylocalfile.tar.gz til ftp:/yourftpserver ved hjælp af curl, skal du gøre:

$ curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver

11. Angiv brugeragent

Brugeragenten er en del af de oplysninger, der sendes sammen med en HTTP-anmodning. Dette angiver, hvilken browser klienten brugte til at fremsætte anmodningen. Lad os se, hvad vores nuværende curl-version bruger som standard, og lad os ændre det senere til "Jeg er en ny webbrowser":

$ curl -I http://localhost --user-agent "I am a new web browser"

12. Gem webstedets cookies

Vil du se, hvilke cookies der downloades til din computer, når du surfer til https://www.cnn.com? Brug følgende kommando til at gemme dem i cnncookies.txt. Du kan derefter bruge cat-kommandoen til at se filen.

$ curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O

13. Send webstedscookies

Du kan bruge de cookies, der blev hentet i det sidste tip, i efterfølgende anmodninger til det samme sted.

$ curl --cookie cnncookies.txt https://www.cnn.com

14. Rediger navneopløsning

Hvis du er en webudvikler og ønsker at teste en lokal version af ditdomæne.com, før du skubber det live, kan du få krøllet til at løse http://www.yourdomain.com til din lokale vært sådan:

$ curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/

Forespørgslen til http://www.yourdomain.com vil således bede curl om at anmode om stedet fra localhost i stedet for at bruge DNS eller filen/etc/hosts.

15. Begræns download-hastighed

For at forhindre krøller i at sprænge din båndbredde kan du begrænse downloadhastigheden til 100 KB/s som følger.

$ curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O

I denne artikel har vi delt en kort historie om krøllens oprindelse og forklaret, hvordan man bruger den gennem 15 praktiske eksempler.

Kender du andre krøllekommandoer, som vi måske har gået glip af i denne artikel? Del dem gerne med vores samfund i kommentarerne! Også, hvis du har spørgsmål, er du velkommen til at give os besked. Vi ser frem til at høre fra dig!