6 networking linux script wget ubuntu
例子: http://www.mediafire.com/?tjmjrmtuyco
这是我试过的...
wget -A rar [-r [-l 1]] <mediafireurl>
Run Code Online (Sandbox Code Playgroud)
也就是说,我尝试了使用和不使用递归选项。它最终下载了几个 KB 大小的 HTML 页面,而我想要的是 90-100 MB 和 RAR。
对于那些可能不知道的人来说,MediaFire 会发生什么,它首先说
正在处理下载请求...
大约一秒钟后,此文本变成下载链接并阅读
点击这里开始下载..
如果有人告诉我如何为这种情况编写合适的脚本,我将不胜感激。
小智 6
服务的一般使用、权限和限制
您同意在使用 MediaFire 服务时,您不得:
更改或修改服务的任何部分;
将服务用于任何非法目的;
使用任何机器人、蜘蛛、离线阅读器、站点搜索和/或检索应用程序或其他设备来检索或索引服务的任何部分,公共搜索引擎除外
因此,基本上通过使用 Mediafire 通过其网站提供的工具以外的任何工具,您实际上违反了他们的服务条款。
小智 5
其实是可以做到的。你需要做的是:
wget
.会是这样的
wget http://download85794.mediafire.com/whatever_your_file_is
Run Code Online (Sandbox Code Playgroud)
小智 5
bash函数:
mdl () {
url=$(curl -Lqs "$1"|grep "href.*download.*media.*"|tail -1|cut -d '"' -f 2)
aria2c -x 6 "$url" # or wget "$url" if you prefer.
}
Run Code Online (Sandbox Code Playgroud)
示例:
$ sudo apt install aria2
$ mdl " http://www.mediafire.com/?tjmjrmtuyco "01/14 13:58:34 [通知] 下载 1 项
38MiB/100MiB(38%) CN:4 DL:6.6MiB ETA:9s]
我自己从未尝试过,但您可以尝试“欺骗”网站的一些方法。
例如,--referer
将让您指定一个引用 URL - 也许该网站希望您来自特定的“主页”页面或其他内容:使用此选项 wget 将假装它来自那里。
另外,--user-agent
将使 wget “假装”它是一个不同的代理 - 即像 Firefox 这样的浏览器。
--header
可以让你伪造整个 HTTP 请求来模仿浏览器的请求。
如果这些都不起作用,还有更多选项,处理 cookie 和其他高级设置:man wget
针对整个列表。
我希望这对您有所帮助:如果您成功了,请发布您是如何做到的!