Sådan downloader du alle filer i en mappe med CURL - Trin-for-trin guide

Hvordan kan alle filer i en specifik mappe downloades ved hjælp af CURL, når kommandoen "curl -LO http://example.com/" returnerer fejlen "curl: Remote file name has no length"?

For at downloade alle filer i en specifik mappe ved hjælp af CURL og undgå fejlen "curl: Remote file name has no length", kan du bruge et bash-script til at downloade hver fil individuelt eller overveje at bruge wget for en mere automatiseret løsning.

Sådan downloader du alle filer i en specifik mappe ved hjælp af CURL

Hvis du forsøger at downloade alle filer i en specifik mappe ved hjælp af CURL og får fejlen "curl: Remote file name has no length", kan du følge nedenstående trin for at løse problemet:

  1. Installer CURL:

    Sørg for, at CURL er installeret på dit system. Du kan installere det ved at bruge følgende kommandoer:

    • På Debian/Ubuntu: sudo apt-get install curl
    • På CentOS/RHEL: sudo yum install curl
    • På macOS: brew install curl
  2. Brug en loop til at downloade flere filer:

    Da CURL ikke direkte understøtter download af alle filer i en mappe, kan du bruge en loop i et script til at downloade hver fil individuelt. Her er et eksempel på et bash-script:

    #!/bin/bash
    URL="http://example.com/"
    FILES=("file1.txt" "file2.jpg" "file3.pdf")
    
    for FILE in "${FILES[@]}"; do
      curl -O "${URL}${FILE}"
    done
    

    Erstat file1.txt, file2.jpg, og file3.pdf med navnene på de filer, du vil downloade.

  3. Automatiser filnavne med wget:

    Hvis du har brug for at downloade mange filer og ikke kender deres navne på forhånd, kan wget være et bedre værktøj. Her er et eksempel på, hvordan du kan bruge wget til at downloade alle filer i en mappe:

    wget -r -np -nH --cut-dirs=1 -R "index.html*" http://example.com/path/to/directory/

    Forklaring af parametrene:

    • -r: Recursively download files.
    • -np: No parent, do not ascend to the parent directory.
    • -nH: No host directories.
    • --cut-dirs=1: Skip 1 directory level.
    • -R "index.html*": Reject index.html files.
  4. Brug en FTP-server:

    Hvis filerne er tilgængelige via FTP, kan du bruge CURL til at downloade alle filer i en mappe ved hjælp af følgende kommando:

    curl -O ftp://username:[email protected]/path/to/directory/*

    Erstat username og password med dine FTP-loginoplysninger.

Ved at følge disse trin kan du effektivt downloade alle filer i en specifik mappe ved hjælp af CURL eller alternative værktøjer som wget.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker