2013-04-28 105 views
16

我用“卷曲 - SO”命令,以从该项目GitHub的链接来下载项目文件: http://github.com/ziyaddin/xampp/archive/master.zip不能下载GitHub的项目,curl命令

但是,我无法下载。有错误发生,并说:

Archive: /home/ziyaddin/Desktop/master.zip 
[/home/ziyaddin/Desktop/master.zip] End-of-central-directory 
signature not found. Either this file is not a zipfile, or it 
constitutes one disk of a multi-part archive. In the latter case 
the central directory and zipfile comment will be found on the last 
disk(s) of this archive. zipinfo: cannot find zipfile directory in 
one of /home/ziyaddin/Desktop/master.zip or 
      /home/ziyaddin/Desktop/master.zip.zip, and cannot find 
/home/ziyaddin/Desktop/master.zip.ZIP, period. 

,但我可以下载使用curl命令此链接: http://cloud.github.com/downloads/pivotal/jasmine/jasmine-standalone-1.3.1.zip

我认为,这是因为它是在cloud.github.com。我想知道如何从curl命令的第一个链接下载?

回答

34
 
$ curl -LOk https://github.com/ziyaddin/xampp/archive/master.zip 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
100 119 100 119 0  0 375  0 --:--:-- --:--:-- --:--:-- 388 
    0  0 0 1706 0  0 1382  0 --:--:-- 0:00:01 --:--:-- 333k 
  • 必须使用https://
  • 必须使用-L遵循重定向
  • 您必须使用-k如果您的证书文件丢失
+0

工作正常!非常感谢! – 2013-04-28 10:49:00

+0

我可以使用这个当前命令来保存目标文件夹中的文件吗?我必须写什么来保存在我写的目标文件夹中? – 2013-05-03 15:15:00

+0

多好的答案。 – 2015-11-19 01:59:04

2
 
$ curl -I http://github.com/ziyaddin/xampp/archive/master.zip 
HTTP/1.1 301 Moved Permanently 
Server: GitHub.com 
Date: Sun, 28 Apr 2013 09:24:53 GMT 
Content-Type: text/html 
Content-Length: 178 
Connection: close 
Location: https://github.com/ziyaddin/xampp/archive/master.zip 
Vary: Accept-Encoding 

...所以你如果您想要遵循HTTP重定向,则需要使用-L。或者只是阅读史蒂芬竹篙答案...

+0

谢谢,丹尼尔! – 2013-04-28 10:50:06

4

您也可以下载一个tarball与* .tar.gz)有:

curl -LkSs https://api.github.com/repos/ziyaddin/xampp/tarball -o master.tar.gz 

,或者如果您使用-O可以省略文件名,但那么你保存的“.tar.gz”文件默认命名为“tarball”,所以你必须重命名并添加“.tar.gz”文件类型后缀。因此,如上所述使用(小写)-o。其余:

  • Ss - 使用安静模式,但显示的错误,如果有的话
  • k - 使用而不检查TLS证书的不安全 SSL连接。