StackOverflow和其他社区(AskUbuntu,Unix和Linux等)上有很多帖子提供了有关如何使用 wget
或 cUrl
从Oracle网站自动下载Java发行版的建议 . 它们都涉及发送一个cookie,假设在真正的下载链接出现之前,人们通常必须手动接受许可协议 .
但是,在尝试下载最近已移至Oracle Archive page的Java 7 SDK时,这些都不适合我 .
如果我转到此页面,请手动接受许可协议,然后复制下载链接,如下所示:
http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz
Note that it has otn in the middle while all the other posts are about URLs which are stored underotn-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
类型的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存档吗?
4 回答
如果您尝试从存档中下载JDK 7,oracle站点会要求您登录 . 因此卷曲和wget的问题 . 这是最近的改变希望他们可以改变这一点 .
直到最近,wget一直使用otn-pub链接 . 似乎Oracle已经改变了一些东西 .
最接近的解决方法是从托管它的另一个站点进行wget
这个curl命令对我有用:
选项:
-v - 只显示STDERR上的其他信息和HTTP标头(您可以跳过此选项)或使用 -s 进行静默运行
-O - 保存对磁盘的响应(而不是将其发送到STDOUT)或使用 -o filename指定另一个路径
-L - 按照重定向
-b - 启用cookie引擎并传入初始cookie oraclelicense = accept-securebackup-cookie
该URL直接从Oracle JDK下载页面中提取
Oracle不允许在未登录门户网站的情况下从归档链接下载,也不建议使用归档链接中的jdk .
查看此链接以获取更多信息:http://www.oracle.com/technetwork/java/javase/archive-139210.html