首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用wget下载ZIP文件

使用wget下载ZIP文件
EN

Stack Overflow用户
提问于 2016-03-08 09:23:09
回答 3查看 35.1K关注 0票数 8

我在OVH托管的Debian7.0VPS服务器上使用wget时遇到了问题。

我正在尝试从MediaFire下载ZIP文件,当我通过SSH连接时,我输入了

代码语言:javascript
复制
wget http://download1472.mediafire.com/5ndlsskkyfmg/dgx7zbbdbxawbwd/Vhalar-GGJ16.zip

然后,这是我的输出,

代码语言:javascript
复制
--2016-03-07 20:17:52--  http://download1472.mediafire.com/5ndlsskkyfmg/dgx7zbbd                                                                         bxawbwd/Vhalar-GGJ16.zip
Resolving download1472.mediafire.com (download1472.mediafire.com)... 205.196.123                                                                         .160
Connecting to download1472.mediafire.com (download1472.mediafire.com)|205.196.12                                                                         3.160|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://www.mediafire.com/?dgx7zbbdbxawbwd [following]
--2016-03-07 20:17:52--  http://www.mediafire.com/?dgx7zbbdbxawbwd
Resolving www.mediafire.com (www.mediafire.com)... 205.196.120.6, 205.196.120.8
Connecting to www.mediafire.com (www.mediafire.com)|205.196.120.6|:80... connect                                                                         ed.
HTTP request sent, awaiting response... 301
Location: /download/dgx7zbbdbxawbwd/Vhalar-GGJ16.zip [following]
--2016-03-07 20:17:52--  http://www.mediafire.com/download/dgx7zbbdbxawbwd/Vhala                                                                         r-GGJ16.zip
Connecting to www.mediafire.com (www.mediafire.com)|205.196.120.6|:80... connect                                                                         ed.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `Vhalar-GGJ16.zip'

    [  <=>                                  ] 94,265       440K/s   in 0.2s

2016-03-07 20:17:52 (440 KB/s) - `Vhalar-GGJ16.zip' saved [94265]

下载时间不到1秒,而且是280MB的zip文件。而且,它似乎说的是“440KB/s”,而这个数学运算根本不合理。

我不明白为什么我不能通过SSH将这个zip文件下载到我的服务器上,而不是下载到我的计算机上,然后重新上传到服务器上。

有没有人看到我在指挥中的一个缺陷?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-08 09:30:28

查看下载的94kb文件的内容,该文件位于类似vi的位置。它很可能不是一个zip文件,而是一个html文件,它告诉你哪里出了问题,以及你需要做什么才能下载文件。

浏览器应该知道这一点( mime类型会告诉它正在为它提供HTML,并且它会向您显示它而不是下载它)。

这很可能是Mediafire为防止自动下载其文件而采取的措施。欺骗用户代理头可能会有所帮助,但不太可能。

票数 3
EN

Stack Overflow用户

发布于 2016-03-08 09:50:38

当您使用wget下载该zip文件时,您所做的就是下载zip文件所在的html页面。您可以看到这一点,因为如果您重做该命令以输出到html文件,如下所示:

代码语言:javascript
复制
wget http://download1472.mediafire.com/5ndlsskkyfmg/dgx7zbbdbxawbwd/Vhalar-GGJ16.html

然后在你选择的网络浏览器中打开它,你会得到那个链接的漂亮的html页面,上面有mediafire下载按钮。

这完全是因为mediafire想让你在下载之前用验证码验证你是人类。尝试执行验证码,然后发出命令:

代码语言:javascript
复制
wget http://download1472.mediafire.com/gxnd316uacsg/dgx7zbbdbxawbwd/Vhalar-GGJ16.zip

看起来不错。

如果您尚未在尝试从其下载验证码的计算机上完成验证码,则需要完成此操作。这是验证码最初的样子。一旦你完成它并点击“授权下载”,你就可以自由地从服务器上获取文件了。

如果其他方法都失败了,请将其下载到您的计算机上,然后使用scp命令将其传输过来。

票数 9
EN

Stack Overflow用户

发布于 2022-02-06 15:48:17

对于任何使用wget下载文件的人来说,这只是一个技巧,但是URL在文件名后面有一个代理字符串(例如?This_is_a_query_string_sample_&_123545_&),即URL的格式是:

代码语言:javascript
复制
http://download1472.mediafire.com/5ndlsskkyfmg/dgx7zbbdbxawbwd/Vhalar-GGJ16.html?This_is_a_query_string_sample_&_123545_&

在这种情况下,在使用wget时一定要使用双引号(因为&在shell环境中有特殊的含义)

代码语言:javascript
复制
wget "http://download1472.mediafire.com/5ndlsskkyfmg/dgx7zbbdbxawbwd/Vhalar-GGJ16.html?This_is_a_query_string_sample_&_123545_&"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35857266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档