我有一个链接到我想从shell下载的文件。 不幸的是,该URLredirect到一个软件许可协议页面,需要点击一个接受button。 这是好的,当我在一个标准的浏览器,但是当我在壳牌wget只会下载HTML页面,而不是实际的文件。 当条款必须首先被接受时,有哪些选项可用于将文件下载到shell中?
具体来说,我正在看下面的LSI下载页面:
http://www.lsi.com/Pages/user/eula.aspx?file=http%3a%2f%2fwww.lsi.com%2fdownloads%2fPublic%2fSATA%2fSATA%2520Common%2520Files%2f3DM2_CLI-Linux_10.2.1_9 .5.4.zip&源= HTTP%3A%2F%2fwww.lsi.com%2fdownloads
我没有查看页面上的源代码,发现了一个链接到下面的位置,但是当使用wget时,它也拉起了eula页面。
http://www.lsi.com/downloads/Public/SATA/SATA%20Common%20Files/3DM2_CLI-Linux_10.2.1_9.5.4.zip
到目前为止,我提出的唯一select是:
有一个更简单的方法?
我通常只使用l for为此。 花点时间熟悉导航键。 下载过程非常简单,您可以select输出位置…
然而,在这种情况下, 我试图通过l run运行下载 ,但没有运气。
所以,只需要生成的文件名, 3DM2_CLI-Linux_10.2.1_9.5.4.zip ,并search一个替代的来源 , 可以让你wget。 最简单的方法。
对于大多数网站,您可以:
这对95%的使用redirect的网站起作用。
但是,这个网站有一些奇怪的行为:
由于我是用不同的设备做的,所以不是cookies或者post参数。 他们唯一分享的是他们在同一个NAT后面。
所以我只能得出结论,他们正在跟踪接受EULA的IP地址,并且只显示那些没有的EULA页面。 要从wget下载它 – 或者从同一个公共IP地址的另一台计算机上接受EULA,或者致电LSI,让他们的网页devise师被解雇!
Hack :这是LSI的特定解决scheme。 只需将source = 1添加到url即可。 所以链接
http://www.lsi.com/downloads/Public/SATA/SATA%20Common%20Files/3DM2_CLI-Linux_10.2.1_9.5.4.zip
会变成:
那么wget命令是:
wget http://www.lsi.com/downloads/Public/SATA/SATA%20Common%20Files/3DM2_CLI-Linux_10.2.1_9.5.4.zip?source=1 -O 3DM2_CLI-Linux_10.2.1_9.5.4.zip
LSI为什么!?
http://www.lsi.com/downloads/Public/SATA/SATA%20Common%20Files/3DM2_CLI-Linux_10.2.1_9.5.4.zip
该链接去从没有EULA的浏览器,但它没有为wget工作..奇怪。 你可以下载到桌面,然后将其sftp到您的Linux机器?