从Oracle存档页面wget / curl下载Oracle Java 7 SDK

wget/curl download of Oracle Java 7 SDK from the Oracle Archive page

StackOverflow和其他社区(AskUbuntu,Unix和Linux等)上有很多文章,它们提供有关如何使用wgetcUrl来自动从Oracle网站下载Java发行版的建议。它们都涉及发送一个cookie,该cookie假装一个人接受了许可协议,而在真正的下载链接出现之前,该协议通常必须手动进行。

但是,在尝试下载Java 7 SDK时,这些方法都不适合我使用,而Java 7 SDK最近已移至" Oracle存档"页面。

如果我转到此页面,请手动接受许可协议,然后复制下载链接,如下所示:

http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz

请注意,它的中间是otn,而其他所有帖子都是关于存储在otn-pub下的URL。

使用通常用于otn-pub链接的方式如下所示:

wget --no-cookies --no-check-certificate --header"Cookie: oraclelicense=a" http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz

但是,这不适用于otn类型的URL。而是wget返回:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
--2017-05-23 12:11:12--  http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz
Resolving download.oracle.com (download.oracle.com)... 92.122.214.233, 92.122.214.217
Connecting to download.oracle.com (download.oracle.com)|92.122.214.233|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://edelivery.oracle.com/akam/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz [following]
--2017-05-23 12:11:12--  https://edelivery.oracle.com/akam/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz
Resolving edelivery.oracle.com (edelivery.oracle.com)... 23.0.39.115, 2a02:26f0:8f:29a::2d3e
Connecting to edelivery.oracle.com (edelivery.oracle.com)|23.0.39.115|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://login.oracle.com/pls/orasso/orasso.wwsso_app_admin.ls_login?Site2pstoreToken=v1.2~CA55CD32~5B4FBD9FD4FC906722CB92CC3F7FA417B904138FD53F875C3FEFDF932EC5928D866C8B39EACAA55F28099E034BAC612F869C90A39B20E322E380F4A006B9668EAD35323A1C548EAD5D03EE8D6C772A88C049F024986DC6CCF546B00D347731F76BE786B96F0041610DEE7B6B4EAC27DCBE558B151B032973F065FC0367918B72DBCAB4B7FC920BAC4C13E820DFFE1761C5C473B6E0A4F0E94FABACDB40F02AD6B2BAB1D3F57371B14048557A0291AC3F12C73A30CAF4AAEB8A545475300A1ABBD60E2BF27FB1B11BC47DE91D0E918E04E4C4663632E98752BBC07671BBD21E7C6F73D78A8A66254579EC63B99716D999 [following]
--2017-05-23 12:11:12--  https://login.oracle.com/pls/orasso/orasso.wwsso_app_admin.ls_login?Site2pstoreToken=v1.2~CA55CD32~5B4FBD9FD4FC906722CB92CC3F7FA417B904138FD53F875C3FEFDF932EC5928D866C8B39EACAA55F28099E034BAC612F869C90A39B20E322E380F4A006B9668EAD35323A1C548EAD5D03EE8D6C772A88C049F024986DC6CCF546B00D347731F76BE786B96F0041610DEE7B6B4EAC27DCBE558B151B032973F065FC0367918B72DBCAB4B7FC920BAC4C13E820DFFE1761C5C473B6E0A4F0E94FABACDB40F02AD6B2BAB1D3F57371B14048557A0291AC3F12C73A30CAF4AAEB8A545475300A1ABBD60E2BF27FB1B11BC47DE91D0E918E04E4C4663632E98752BBC07671BBD21E7C6F73D78A8A66254579EC63B99716D999
Resolving login.oracle.com (login.oracle.com)... 209.17.4.8
Connecting to login.oracle.com (login.oracle.com)|209.17.4.8|:443... connected.
HTTP request sent, awaiting response... 401 Authorization Required

Username/Password Authentication Failed.

看起来他们要么更改了有关身份验证的内容,要么从未使用过Oracle Archive页面中的链接(以前从未尝试过)。

知道如何使用wgetcUrl或类似文件下载最新的Oracle Java 7 SDK .tar.gz归档文件吗?


wget直到最近一直在使用otn-pub链接。Oracle似乎确实做了一些更改。

最近的解决方法是从托管它的另一个站点获取

1
wget http://ftp.osuosl.org/pub/funtoo/distfiles/oracle-java/jdk-7u80-linux-x64.tar.gz


这个curl命令对我有用:

1
curl -v -O -L -b oraclelicense=accept-securebackup-cookie http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-i586.rpm

选项:

  • -v-仅在STDERR上显示其他信息和HTTP标头(可以跳过)或使用-s进行静默运行
  • -O-将响应保存到磁盘(而不是将其发送到STDOUT)或使用-o filename指定其他路径
  • -L-跟随重定向
  • -b-启用cookie引擎并传递初始cookie oraclelicense = accept-securebackup-cookie

该URL直接从Oracle JDK下载页面获取


oracle站点要求您登录,如果您尝试从其归档文件中下载JDK 7。因此,curl和wget的问题。这是最近的更改,希望他们可以更改。

注意:Oracle已更改了其许可政策,因此请在继续操作之前进行检查。您的JDK可能不再免费


Oracle不允许在未登录门户网站的情况下从存档链接下载,也不建议从存档链接使用jdk。

检查此链接以获取更多信息:
http://www.oracle.com/technetwork/java/javase/archive-139210.html