web-dev-qa-db-fra.com

Comment télécharger un fichier en utilisant curl

Je suis sous Mac OS X et je ne sais pas comment télécharger un fichier à partir d'une URL via la ligne de commande. C'est à partir d'une page statique alors j'ai pensé que copier le lien de téléchargement puis utiliser curl ferait l'affaire mais ce n'est pas le cas.

J'ai référencé cette question de StackOverflow mais cela n'a pas fonctionné. J'ai également référencé cet article qui n'a pas non plus fonctionné.

Ce que j'ai essayé:

curl -o https://github.com/jdfwarrior/Workflows.git
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information

.

wget -r -np -l 1 -A Zip https://github.com/jdfwarrior/Workflows.git
zsh: command not found: wget

Comment un fichier peut-il être téléchargé via la ligne de commande?

17
Alex Cory

L'option -o --output signifie que curl écrit la sortie dans le fichier que vous spécifiez au lieu de stdout, vous mettez l'URL après le -o, de sorte que curl pense que l'URL est un fichier à écrire et aucune URL spécifiée. Vous avez besoin d'un nom de fichier après le -o, puis l'URL. Puisque l'URL est basée sur HTTPS, vous avez peut-être également besoin de l'option -k:

curl -o ./filename -k https://github.com/jdfwarrior/Workflows.git

Et wget n’est pas disponible par défaut sous OS X.

21
jfly

La solution la plus simple à votre question consiste à conserver le nom de fichier d'origine. Dans ce cas, il vous suffit d'utiliser une majuscule o ("-O") en tant qu'option (et non un zéro = 0!). Donc, il ressemble à:

curl -O https://github.com/jdfwarrior/Workflows.git
3
Agile Bean
curl -OL https://github.com/jdfwarrior/Workflows.git

-O: Cette option permet d'écrire la sortie dans un fichier nommé comme fichier distant. Dans cette boucle, ce fichier serait Workflow.git.

-L: Cette option est utilisée si le serveur signale que la page demandée a été déplacée vers un autre emplacement (indiqué par un en-tête Location: et un code de réponse 3XX). Cette option permet à Curl de rétablir la demande sur le nouvel emplacement.

Réf: Page de manuel de Curl