如何使用 wget 或其他工具下载隐藏链接的文件(仅单击激活)

dec*_*off 10 download wget curl

我想下载一些字幕文件,以 rar 文件形式存储在http://subs.sab.bz/该站点为其新版本提供 rss 提要。不幸的是,提供的链接将打开一个下载页面,但不会获取文件。

下载页面中间有一个按钮,点击它会触发下载所需的rar文件。无论如何,如果我右键单击并复制链接,然后尝试打开它,浏览器将自行打开下载页面,但不会下载文件。当我尝试在 wget 和 curl 中使用文件的下载链接时,会下载一个 php 文件。我读到在这种情况下,服务器端脚本用于将正确的链接传递给客户端计算机。

所以,我正在寻找一种方法来强制 wget 模拟此链接的 onclick 操作。我知道 html css 和 javascript 足以找到下载链接的其他属性。

这甚至可以做到吗?

附注。我很困惑为什么这个问题被否决了?任何好的解释,我是否违反了发布规则或其他内容,谢谢..

hha*_*amu 16

你混淆了一些事情。“Onclick”操作指的是 JavaScript 并且是客户端。您必须检查这些链接上的 JavaScript 钩子如何解开 URL。但是,这里没有任何 onclick 操作。

有问题的网站所做的是引荐来源检查,也称为“热链接保护”。浏览器默认发送一个referrer值,它是上一页的URL。这样做是为了避免某些其他站点通过发布指向文件的直接链接来窃取网站的带宽。

如果您尝试复制链接并将其直接粘贴到您的浏览器,您将获得与您在问题中描述的相同的行为,因为浏览器那时不知道发送引用者信息。

告诉 wget 伪造引用值的选项是--referer, 和-ecurl 。该值通常可以安全地设置为Web站点的根目录-的网站通常不会检查该值是正确的是彻底的:

wget -O output.rar --referer http://subs.sab.bz/ 'http://subs.sab.bz/your-link-here'
Run Code Online (Sandbox Code Playgroud)