我需要从具有如下格式的 URL 的网站下载文件:
http://www.server.com/downloads/1234/
这会重定向到一个必须保存的 .zip 文件。还需要根据用户名和密码进行身份验证。
我尝试使用wget
,curl
但lynx
没有成功。
更新:
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
其中username
和password
应该是正在提交的表单字段的名称。
笔记 :网站需要重定向到实际的 Zip 文件,而不是其他带有 Zip 文件链接的页面。如果是这种情况,您需要编写解析脚本,因为 Curl 或 Wget 都无法帮助您实现这一点。它们是从给定的 URL 获取内容的工具,并非旨在“猜测”您希望它们获取的内容;它们只是下载服务器发送的内容。