`
nigelzeng
  • 浏览: 603954 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

由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

奇迹发生了,下载一秒钟就完成了,但是得到的文件不是我们想要的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用意何在!!!

  • 大小: 98.2 KB
  • 大小: 126.7 KB
分享到:
评论

相关推荐

    wget wget wget wget

    `wget`是一个强大的命令行下载工具,主要用于在Unix-like操作系统(包括Linux和macOS)上从互联网上下载文件。它的名字是“World Wide Web”和“get”的组合,表明其主要功能是从Web获取文件。`wget`的特点在于其非...

    wget_wget_

    wget是Linux环境中广泛使用的命令行工具,用于从互联网上下载文件。它支持HTTP、HTTPS和FTP协议,甚至可以通过代理服务器工作,使得用户在各种网络环境下都能便捷地获取远程资源。wget的强大之处在于其非交互式操作...

    linux 离线安装wget

    在Linux系统中,`wget`是一个非常实用的命令行工具,用于从互联网上下载文件,尤其在没有图形化界面或者网络连接不稳定的情况下,其离线安装就显得尤为重要。本篇文章将详细阐述如何在Linux环境下离线安装`wget`,...

    相比Wget,Wget2 速度更快,支持更多的协议,特别是围绕 HTTP/2 和压缩,支持多线程/并行连接,以及其他改进。

    相比较初代 GNU Wget,Wget2 速度更快,支持更多的协议,特别是围绕 HTTP/2 和压缩,支持多线程/并行连接,以及其他改进。 GNU Wget2 2.0 增加了 HTTP2 上传,通过新的 -download-attr 选项支持 HTML5 下载属性,...

    centos下wget安装包

    在Linux操作系统中,`wget`是一个非常实用的命令行工具,用于从互联网上下载文件。它支持HTTP、HTTPS和FTP协议,甚至可以通过代理服务器进行下载。`wget`的一个显著特点是其非交互式操作,能够在后台运行,非常适合...

    wget1.21.4.zip安装包

    wget1.21.4.zip安装包是一款包含wget 1.21.4版本的可执行文件的压缩包。wget是互联网上广泛使用的命令行工具,用于从Web服务器上下载文件,尤其适用于非交互式环境,例如自动化脚本或计划任务。这个版本1.21.4可能是...

    离线安装wget依赖包

    本文将详细介绍如何在CentOS虚拟机上离线安装wget及其依赖包。 首先,让我们理解一下wget的基本概念。wget是一款强大的网络下载工具,它支持通过HTTP、HTTPS和FTP协议下载,并且可以在用户退出后继续之前的下载任务...

    windows wget 命令行下的wget

    在Windows操作系统中,虽然不像Linux那样内置了wget命令行工具,但用户仍然可以通过一些方法来实现类似的功能。wget是一款强大的互联网资源下载工具,它支持通过HTTP、HTTPS和FTP协议从命令行界面下载网页内容,包括...

    Android 终端上可以使用的完全版本wget

    在这种情况下,你需要一个完整功能的wget版本,这就是"Android终端上可以使用的完全版本wget"的由来。 wget是一款强大的非交互式网络下载工具,广泛应用于Linux和Unix系统,同时也适用于Android这样的移动平台。它...

    wget-1.20.3离线安装包.zip

    wget是Linux系统中一个强大的命令行工具,用于从互联网上下载文件。它的全名是“World Wide Web Get”,顾名思义,它可以从万维网上抓取文件,无论是单个文件还是整个网站。wget以其非交互式、后台运行以及断点续传...

    支持中文目录wget版本,linux版本

    在wget的源代码中 src/url.c 这个文件中有wget如何处理文件名的函数url_file_name() url_file_name()在根据url的形式判断该保存为什么样的文件名,并进行了多方面的考虑,最终该函数调用了append_uri_pathel(),该...

    wget_windows_wget_Vc_

    3. **VC6**:Visual C++ 6是一个经典的C++集成开发环境,由Microsoft发布。在这个项目中,wget被移植到Windows平台并使用VC6进行了编译,使得Windows用户能够直接运行编译后的二进制文件来执行wget命令。 4. **编译...

    wget.exe for windows(windows版本wget)

    wget是一个很好的网络下载工具,linux环境下功能强大,可以探测url状态,此款工具是windows环境下的wget.exe 下载以后可以存放到system32目录下方便调用。

    window10的wget包

    Window10中的wget工具是一个非常实用的命令行工具,它允许用户从互联网上下载文件,类似于Linux环境下的wget命令。这个wget包适用于那些在Windows环境下需要进行自动化或非交互式下载任务的用户。通过解压提供的...

    wget 32位版本

    `wget` 是一款功能强大的命令行下载工具,尤其在Linux环境中广泛使用,但同样适用于Windows系统。本主题主要关注32位版本的`wget`,它允许用户通过命令行界面进行高效、灵活的互联网资源下载。 `wget` 的主要特点...

    wget官方最新文档

    `wget` 是一个非常强大的命令行工具,用于从互联网上下载文件和整个网站。它支持HTTP、HTTPS和FTP协议,并且可以处理代理服务器、cookies、认证等复杂情况。`wget` 的灵活性和可靠性使其在系统管理员和开发者中广受...

    wget网络多协议下载

    **wget网络多协议下载工具详解** wget是一款强大的网络下载工具,它被广泛应用于Linux系统中,同时也可跨平台运行在其他Unix-like系统上。wget以其可靠性和自动化特性著称,支持HTTP、HTTPS和FTP三种主要的互联网...

    win32_wget

    "win32_wget"是一个专为Windows 32位操作系统设计的版本,它基于开源的网络下载工具wget。wget是互联网上广泛使用的命令行工具,用于非交互式下载网络上的文件,支持HTTP、HTTPS和FTP协议,以及通过HTTP代理进行下载...

    wget源码安装包1.20版lz gz

    wget是Linux环境中广泛使用的命令行工具,用于从网络上下载文件。这个“wget源码安装包1.20版lz gz”指的是wget的1.20版本源代码,压缩格式为lz和gz,通常这样的文件扩展名组合表示文件已经被lz(LZMA,一种高效的...

    wget命令rpm安装

    wget命令rpm安装文件,需要预先安装rpm,才可以配置。

Global site tag (gtag.js) - Google Analytics