Curl命令不下载文件(linux mint)

时间:2014-12-13 12:30:51

标签: linux curl download wget

我想用curl下载一个文件但它不起作用!

 curl -O https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o

这是我在许多官方网站上看到的例子。他们说上面的命令下载文件hello.o。它没有!它只是下载某种输出并将其存储在具有相同名称的文件中。

如果我运行上面的命令,并打印hello.o的内容,它会说:

 <html><body>You are being <a href="https://raw.githubusercontent.com/systems-cs-pub-ro/uso/master/tema1/help/hello.o">redirected</a>.</body></html>

hello.o的维数是147字节。

另外,如果我输入

  wget https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o

它下载文件hello.o到底是怎么回事!现在,它的尺寸是1,2 K

有没有办法使用curl下载文件hello.o,具体如何使用wget下载它?

谢天谢地。

1 个答案:

答案 0 :(得分:22)

使用Curl,您需要使用-L标志,如下所示:

curl -L https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o&gt; hello.o

来自Curl的手册页:

  

-L, - 位置                 (HTTP / HTTPS)如果服务器报告所请求的页面已移动到其他位置(用Location:标题和3XX响应代码表示),则此选项将使curl重做新位置的请求。如果与-i, - include或-I, - head一起使用,将显示来自所有请求页面的标题。使用身份验证时,curl仅将其凭据发送到初始主机。如果重定向将curl转移到其他主机,则无法拦截用户+密码。另请参阅--location-trusted有关如何更改此信息。您可以使用--max-redirs选项限制要遵循的重定向数量。当curl遵循重定向并且请求不是普通的GET(例如POST或PUT)时,如果HTTP响应是301,302或303,它将使用GET执行以下请求。如果响应代码是任何其他3xx                 代码,curl将使用相同的未修改方法重新发送以下请求。

请注意,您的问题已在此处得到解答: How do I download a tarball from GitHub using cURL?