web-dev-qa-db-fra.com

Télécharger le fichier Zip avec la commande curl

Comment puis-je télécharger le fichier Zip avec la commande curl? J'ai essayé curl -sO, mais une erreur s'est produite. Je souhaite télécharger le fichier Zip à l'adresse suivante: http://github.com/ziyaddin/xampp/archive/master.Zip

mais ne peut pas. Que dois-je taper?

32
Ziyaddin Sadigov

J'ai utilisé curl -LO et cela a bien fonctionné. wget fonctionne aussi.

35

Essayez wget au lieu de curl: wget http://github.com/ziyaddin/xampp/archive/master.Zip

20
don.joey

Vous pouvez utiliser:

curl https://github.com/ziyaddin/xampp/archive/master.Zip -O -J -L

Enregistre sous: xampp-cli-master.Zip

  • utilisez -L au cas où une redirection serait trouvée.
  • utilisez -O pour les noms de fichiers distants (master.Zip)
  • utilisez -J (à utiliser avec -O) pour autoriser le nom de fichier d'en-tête distant (xampp-cli-master.Zip)


Ou utilisez -o pour créer votre propre nom de fichier:

curl https://github.com/ziyaddin/xampp/archive/master.Zip -L -o MyFilename.Zip

Enregistre sous: MyFilename.Zip

Remarque: (GitHub prend en charge SSL - utilisez https://)


Vous pouvez également utiliser un curlrcfichier de configuration ou alias la commande CURL pour utiliser curl -O -L afin de lui permettre de fonctionner de manière similaire à WGET.

Consulter: https://curl.haxx.se/docs/manpage.html#OPTIONS (voir: - O , - J , - - L , - o )

Notez l'avertissement d'utilisation de CURL avec l'option -J:

Il n'y a aucune tentative de décoder (encore)% -sequences dans le nom de fichier fourni, cette option peut donc vous fournir des noms de fichier plutôt inattendus.

WARNING: Utilisez cette option judicieusement, en particulier sous Windows. Un serveur non autorisé peut vous envoyer le nom d'un DLL ou un autre fichier qui pourrait éventuellement être chargé automatiquement par Windows ou un logiciel tiers.

14
bshea

Si vous souhaitez télécharger le fichier, utilisez plutôt wget [option]... [URL]....

Pour plus d'informations sur les options, tapez ceci dans votre terminal: man wget

Pour votre but:

wget http://github.com/ziyaddin/xampp/archive/master.Zip

Notez que le fichier .Zip sera enregistré dans le répertoire actuel dans lequel vous vous trouvez.

5
Meintjes

Pour télécharger des fichiers dans GitHub (ou tout autre site qui effectue des redirections) à l'aide de curl, vous devez passer -L (suivre les redirections), utilisez donc:

curl -L http://github.com/ziyaddin/xampp/archive/master.Zip -o xampp.Zip

3
Juliano Petronetto

"curl -LOk" le fait en utilisant des protocoles non sécurisés (-k), en désactivant les vérifications de certificats SSL (qui échouent à cause du chemin incorrect ne correspondant pas au certificat) et en créant le fichier de sortie en utilisant le nom de fichier (-O) proposé par le serveur distant. (également non sécurisé). À mon avis, le serveur devrait être mieux configuré pour créer des alias de redirection locaux si nécessaire, pour éviter de devoir passer cette partie non conforme de l'URL. Mais la redirection est effectuée à l'aide d'une redirection HTTP uniquement (erreur HTTP 30x), ce qui entraîne le blocage de problèmes qui ne suivent pas (par défaut) cette redirection (non sécurisée) et l'option (-k) désactive ce contrôle de sécurité. Donc, au lieu d’utiliser des redirections HTTP (déplacées de façon permanente), veuillez ajouter un lien interne sur le système de fichiers du serveur. Si cela est nécessaire parce que l'URL est en fait hébergée sur un autre serveur physique sans accès direct entre leurs systèmes de fichiers, vous devez utiliser un autre nom DNS pour cet hôte, afin que les clients interrogent directement le serveur correct, sans aucune redirection. Puis corrigez vos pages Web (vous pouvez utiliser les journaux de votre serveur Web pour voir où les redirections HTTP 30x sont renvoyées et quelles pages Web doivent éventuellement être vérifiées et mises à jour). Forcer les clients à utiliser des protocoles non sécurisés/non contrôlés n'est pas une bonne option.

Il s'agit donc certainement d'un problème de configuration très mauvaise sur le serveur Web: essayez de contacter l'administrateur pour résoudre ce problème.

1
verdy_p

eh bien, vous pouvez aussi utiliser Axel. axel est un accélérateur de téléchargement léger en ligne de commande. il supporte les protocoles HTTP, HTTPS, FTP et FTPS. son alternative agréable et plus rapide.

installez axel en utilisant:

apt-get install axel

puis téléchargez votre fichier par:

axel http://github.com/ziyaddin/xampp/archive/master.Zip
0
Mahesh