从Oracle Archive页面

时间:2017-05-23 10:16:24

标签: java curl wget

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

但是,在尝试下载最近已移至Oracle Archive page的Java 7 SDK时,这些都不适合我。

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

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

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

使用适用于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类型的网址。相反,wget会返回:

--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存档吗?

4 个答案:

答案 0 :(得分:6)

直到最近,wget一直使用otn-pub链接。似乎Oracle已经改变了一些东西。

最接近的解决方法是从另一个托管它的网站wget

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

答案 1 :(得分:4)

这个curl命令对我有用:

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

直接从Oracle JDK下载页面提取URL

答案 2 :(得分:2)

如果您尝试从存档中下载JDK 7,oracle网站会要求您登录。因此卷曲和wget的问题。这是最近的改变,希望他们可以改变这一点。

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

答案 3 :(得分:1)

Oracle不允许从归档链接下载而无需登录门户网站,也不建议使用归档链接中的jdk。

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