在 Linux 中使用命令行从网站下载文件

在 Linux 中使用命令行从网站下载文件

我需要从具有如下格式的 URL 的网站下载文件:

http://www.server.com/downloads/1234/

这会重定向到一个必须保存的 .zip 文件。还需要根据用户名和密码进行身份验证。

我尝试使用wgetcurllynx没有成功。

更新:

  • wget不适用于重定向。它只是下载网页而不是 zip 文件。
  • curl给出错误“最大重定向超出> 50”
  • lynx也会出现同样的错误。

答案1

Wget 确实支持重定向,这有效吗?

wget --user=USER --password=PASS --max-redirect URL

请注意,如果网站未实现 HTTP 身份验证(需要通过 GET 或 POST 提交表单),然后您需要进行更多设置(鉴于您提供的有关文件所在站点的信息很少,很难给出好的答案)

wget --post-file=datafile --keep-session-cookies --max-redirect URL

datafile可能看起来像

username=USER
password=PASS

其中usernamepassword应该是正在提交的表单字段的名称。

笔记 :网站需要重定向到实际的 Zip 文件,而不是其他带有 Zip 文件链接的页面。如果是这种情况,您需要编写解析脚本,因为 Curl 或 Wget 都无法帮助您实现这一点。它们是从给定的 URL 获取内容的工具,并非旨在“猜测”您希望它们获取的内容;它们只是下载服务器发送的内容。

相关内容