Ladda ned data med curl

Databehandling i kommandoraden

Susan Sun

Data Person

Vad är curl?

curl:

  • står för Client for URLs
  • är ett Unix-kommandoradsverktyg
  • överför data till och från en server
  • används för att ladda ned data från HTTP(S)-webbplatser och FTP-servrar
Databehandling i kommandoraden

Kontrollera curl-installationen

Kontrollera att curl är installerat:

man curl

Om curl inte är installerat visas:

curl command not found.

För fullständiga instruktioner, se https://curl.haxx.se/download.html.

Databehandling i kommandoraden

Bläddra i curl-manualen

Om curl är installerat ser konsolen ut så här:

Skärmbild av början av curl-manualen som den visas i ett mörkt terminalfönster

Databehandling i kommandoraden

Bläddra i curl-manualen

Tryck Enter för att scrolla.

Skärmbild av en delvis nedscrollad curl-manual som den visas i ett mörkt terminalfönster

Tryck q för att avsluta.

Databehandling i kommandoraden

Lär dig curl-syntax

Grundläggande curl-syntax:

curl [option flags] [URL]

URL krävs alltid.

curl stöder även HTTP, HTTPS, FTP och SFTP.

För en fullständig lista över tillgängliga flaggor:

curl --help
Databehandling i kommandoraden

Ladda ned en enskild fil

Exempel:

En enskild fil finns på:

https://websitename.com/datafilename.txt

Använd den valfria flaggan -O för att spara filen med dess ursprungliga namn:

curl -O https://websitename.com/datafilename.txt

För att byta namn på filen, använd gemena -o + nytt filnamn:

curl -o renameddatafilename.txt https://websitename.com/datafilename.txt
Databehandling i kommandoraden

Ladda ned flera filer med globbing-parsern

Fortsätter med föregående exempel:

https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt

Med globbing-parsern

Följande laddar ned alla filer i sekvens, från datafilename001.txt till datafilename100.txt.

curl -O https://websitename.com/datafilename[001-100].txt
Databehandling i kommandoraden

Ladda ned flera filer med globbing-parsern

Fortsätter med föregående exempel:

https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt

Med globbing-parsern

Stega igenom filerna och ladda ned var N:te fil (t.ex. datafilename010.txt, datafilename020.txt, ... datafilename100.txt)

curl -O https://websitename.com/datafilename[001-100:10].txt
Databehandling i kommandoraden

Förebyggande felsökning

curl har två särskilt användbara flaggor vid timeout under nedladdning:

  • -L Följer HTTP-omdirigeringar om en 300-felkod uppstår.

  • -C Återupptar en avbruten filöverföring.

Sammanfattningsvis:

curl -L -O -C https://websitename.com/datafilename[001-100].txt
  • Alla flaggor anges före URL:en
  • Ordningen på flaggorna spelar ingen roll (t.ex. -L -C -O fungerar lika bra)
Databehandling i kommandoraden

Nu kör vi en övning!

Databehandling i kommandoraden

Preparing Video For Download...