由wget引起的血案

由于刚刚配置好yum源,

所以试着装了JDK,之后又发现rpm装的有些不方便,没有javac命令,

所以准备自己手动装一个。

1、来到Oracle的官网准备下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1637583.html

2、通过“查看链接地址”得到“jdk-7u5-linux-i586.tar.gz”的下载地址为

http://download.oracle.com/otn-pub/java/jdk/7u5-b06/jdk-7u5-linux-i586.tar.gz

3、于是我来到RHEL的commandline,输入

wget http://download.oracle.com/otn-pub/java/jdk/7u5-b06/jdk-7u5-linux-i586.tar.gz

扫描二维码关注公众号,回复: 1189971 查看本文章

奇迹发生了,下载一秒钟就完成了,但是得到的文件不是我们想要的tgz包,

而是“download-fail-1505220.html”文件……

命令输出如下:
[root@rhelhost src]# wget http://download.oracle.com/otn-pub/java/jdk/7u5-b06/jdk-7u5-linux-i586.tar.gz
--2012-07-30 15:49:37-- http://download.oracle.com/otn-pub/java/jdk/7u5-b06/jdk-7u5-linux-i586.tar.gz
Resolving download.oracle.com... 63.151.118.190, 63.151.118.201
Connecting to download.oracle.com|63.151.118.190|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://edelivery.oracle.com/otn-pub/java/jdk/7u5-b06/jdk-7u5-linux-i586.tar.gz [following]
--2012-07-30 15:49:38-- https://edelivery.oracle.com/otn-pub/java/jdk/7u5-b06/jdk-7u5-linux-i586.tar.gz
Resolving edelivery.oracle.com... 23.58.154.174
Connecting to edelivery.oracle.com|23.58.154.174|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://download.oracle.com/errors/download-fail-1505220.html [following]
--2012-07-30 15:49:39-- http://download.oracle.com/errors/download-fail-1505220.html
Connecting to download.oracle.com|63.151.118.190|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5307 (5.2K) [text/html]
Saving to: `download-fail-1505220.html'

100%[=========================================================================>] 5,307 --.-K/s in 0s

2012-07-30 15:49:40 (3 MB/s) - `download-fail-1505220.html' saved [5307/5307]

4、我换了其他的rpm包和tgz的地址测试,都只获得了这个fail文件。

于是我就纳闷了,搞什么飞机呢?

果断F12调出chrome的抓包器。捕获了这些信息:


5、可以明显看到这里做了两次302跳转,浏览器每次请求这个地址的时候都会从头访问,而不是对重定向后的地址做缓存,这是302状态码规定的。

6、所以我们可以知道wget命令是不支持重定向的,它只能根据文件所在的最终url来get文件。

复制最后的那个

http://download.oracle.com/otn-pub/java/jdk/7u5-b06/jdk-7u5-linux-i586.tar.gz?AuthParam=1343633641_62dfd9cd61df1979be4b945a4be95b3f

地址,作为wget参数,顺利把jdk弄到手!(注意:这个AuthParam应该是在你选择同意oracle的协议之后生成的,致尧你不关闭该页面,生成的AuthParam就一直有效,否则所有带着这个AuthParam的链接就失效了。)

所以不支持重定向这个功能应该是wget的一个缺陷。

另外,还有一个更加隐秘的东西,那就是oracle的页面居然要求我们提交属于个人隐私的东西:


我没弄错的话,这些应该是我chrome浏览器里装的插件信息!!!!!

它居然非法获取!!!!!

不知道oracle用意何在!!!

猜你喜欢

转载自nigelzeng.iteye.com/blog/1612310