我已将包含“hello world”的文本文件上传到网站。该网站创建了以下链接来下载该文件:
http://s8.picofile.com/d/8293527218/5b6a0e68-9956-43e2-94a5-4942a805db40/mmm
当我复制此链接并将其粘贴到笔记本电脑的 Google Chrome 搜索栏中时,它只会下载文件,一切都很好。但是当我在远程集群系统(我使用 ssh 连接到它)中下载它时,使用wget link-address
它下载一个名为的文件mmm.html
,它与我的文本文件不同。
如何wget
在远程 Linux 系统中使用命令下载文件以及为什么会出现这个问题?
非常感谢。
答案1
您提供的链接打开了 picofile.com 的网页,我猜主要是阿拉伯语,直接下载“mmm”文件的链接是http://s8.picofile.com/d/8293527218/b9e0df57-217a-43bb-9e09-43ac5092b85a/mmm。将此 URL 传递给 wget 后,实际上会下载文件。这是大多数文件托管网站的常见情况 - “共享”URL 指向其网站,而实际下载链接隐藏在某些 javascript 后面。通常,提取此链接的唯一方法是通过浏览器开始下载并从其下载管理器复制下载链接。
答案2
这些文件共享网站的想法是为特定 IP 地址生成单个链接,因此当您在 PC 中生成下载链接时,只能使用 PC 的 IP 地址进行下载,而您的远程 Linux 系统有另一个 IP,因此 picofile 会将您的远程请求重定向到实际的下载包(即 HTML 页面)并wget
下载它。
如果您想使用远程机器从此文件托管下载此文件,您也应该使用远程机器生成链接。
尝试基于终端的浏览器,如w3m
、lynx
等;从您的远程机器。