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

wget/curl从Oracle归档页面下载Oracle Java 7 SDK,java,curl,wget,Java,Curl,Wget,在StackOverflow和其他社区(AskUbuntu、Unix和Linux等)上有很多帖子提供了关于如何使用wget或cUrl从Oracle网站自动下载Java发行版的建议。它们都涉及发送一个cookie,假装接受了许可协议,而在真正的下载链接出现之前,通常必须手动接受许可协议 然而,当我试图下载最近被移动到了的Java7SDK时,这些都不起作用 如果转到此页面,手动接受许可协议,然后复制下载链接,如下所示: http://download.oracle.com/otn/java/jdk/

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

然而,当我试图下载最近被移动到了的Java7SDK时,这些都不起作用

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

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

<强>注意,中间有“<代码> OTN < /代码>,而所有其他帖子都是关于存储在<代码> OTN PUB中的URL。

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

wget--无Cookie--无检查证书--标题“Cookie:oraclelicense=a”http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz

但是,这不适用于
otn
类型的URL。相反,
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页面中的链接使用过身份验证(以前从未尝试过)


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

这个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-将响应保存到磁盘(而不是发送到标准输出),或使用-O文件名指定另一个路径
  • -L-跟随重定向
  • -b-启用cookie引擎并传入初始cookie oraclelicense=接受安全备份cookie

该URL直接从Oracle JDK下载页面中删除

wget与otn pub链接一直合作到最近。Oracle似乎已经改变了一些东西

最接近的解决方法是从另一个托管wget的站点访问wget

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

如果您试图从他们的存档下载JDK 7,oracle站点会要求您登录。因此,curl和wget存在问题。这是最近的变化,希望他们能改变这一点


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

Oracle不允许在未登录门户的情况下从存档链接下载,而且也不建议从存档链接使用JDK

有关详细信息,请查看此链接:
如果你不能让这个工作,考虑切换到祖鲁。不幸的是,其中的散列(?)可能会在下一个版本中中断:-/希望有一个一致/可预测的URL结构。请问,您从哪里获得此URL?您的
cUrl
命令在尝试从
otn
页面空间(而不是
otn-pub
)访问URL时不适用于我,如问题所述。@Dirk
otn-pub
要求用户接受许可协议并在URL内生成随机哈希<代码>otn需要Oracle登录凭据
curl
不适用于
otn
。只有JDK7需要用户名/密码。您可以使用JDK8.1。转到Oracle下载页面。2.接受许可证。3.复制下载URL。4.在上述curl命令中使用URL。几秒钟前它对我有效:)被接受的答案不能回答OP的问题。这是最简单的解决方案。你不必使用ftp.ososl.org,但“从其他主机下载”是最好的选择。我真的不认为这有什么帮助。kixx在下面的回答就是这样。如果你读了OP问题,问题是访问档案。Kixx answer仅适用于托管绝对最新版本的JDK/JRE(如JDK8和JDK9的最新版本)的otn发布链接。但是,如果您想在尚未升级到最新版本的产品上重现与产品匹配的运行时环境,则需要进行归档。正如Arun Ganesan所提到的,您将无法通过归档中的curl来实现。因此,虽然它不能解决问题,但它解释了为什么这是不可能的。