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

Cos*_*iță 15 linux curl wget download

我想下载一个卷曲的文件,它不起作用!

 curl -O https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o
Run Code Online (Sandbox Code Playgroud)

这是我在许多官方网站上看到的例子.他们说上面的命令下载文件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>
Run Code Online (Sandbox Code Playgroud)

hello.o的维数是147字节.

另外,如果我输入

  wget https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢你.

小智 24

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

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

来自Curl的手册页:

-L, - location(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将使用相同的未修改方法重新发送以下请求.

请注意,您的问题已在此处得到解答: 如何使用cURL从GitHub下载tarball?

  • 改进答案:您可以执行“curl -I http://releases.wikimedia.org/mediawiki/1.24/mediawiki-1.24.1.tar.gz”。使用“-I”选项,将为您提供有关请求的一些详细信息,例如返回的 HTTP 代码 (301)。然后,您就可以确定已为您请求的内容配置了重定向。问候并感谢您的回答:)。 (2认同)