如何绕过许可证页面以使用 wget 在服务器上下载 Oracle/Sun Java?

tom*_*mnz 10 command-line java wget oracle

我正在尝试在 Ubuntu Server 12.04 上安装 Liferay,它需要 JRE 并推荐版本 6。

我在权威存储库中找不到 JRE6,而且我不知道如何通过手动 (wget) 下载的许可协议。

我可以向 wget 添加值以接受 Oracle 许可协议并下载文件吗?

谢谢

ish*_*ish 10

“自动化” Oracle Java 下载(JRE/JDK 6/7 和其他...)

您将需要安装sqlite3;这是一个小包装,sudo apt-get install sqlite3如果需要,请使用。

  1. 打开 Firefox,转到您需要的版本/变体的 Java 下载页面,然后单击接受许可协议单选按钮。

    在此处输入图片说明

  2. 打开一个终端,然后粘贴它以从 Firefox SQLite cookie 数据库中提取必要的 Oracle 会话 cookie 到一个可以使用的cookies格式文本文件wget中(脚本源):

    echo ".mode 标签
    选择主机,当主机 glob '.*' 然后 'TRUE' 否则 'FALSE' 结束,路径,
    如果 isSecure 然后 'TRUE' 否则 'FALSE' 结束、到期、名称、值
    来自 moz_cookies;" | sqlite3 ~/.mozilla/firefox/*.default/cookies.sqlite
    | grep -i oracle > /tmp/oracle-cookies.txt
    
  3. 现在使用wget这些会话 cookie 下载:

    wget --load-cookies=/tmp/oracle-cookies.txt wget http://download.oracle.com/otn-pub/java/jdk/6u14-b08/jdk-6u14-linux-x64.bin
    
    Run Code Online (Sandbox Code Playgroud)
  4. 笔记:

    • 您可以将这些 cookie 用于任何Oracle 下载,只要它来自otn-pub目录
    • 您可以将脚本粘贴到 .sh 文件中以方便使用
    • cookie 与 IP 无关,因此对于无头/CLI 服务器,只需 SCP 或传输cookies文件,您就可以从任何计算机下载(但 cookie 有 30 分钟超时,所以要小心)
    • 相关: 如何使用 wget/curl 从我登录的站点下载?


Dra*_*ter 6

stackoverflow 上有一个类似的问题:How to automatic download and install of Java JDK on Linux?

使用 wget 的答案是:

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz"
Run Code Online (Sandbox Code Playgroud)

最后一个参数是要下载的网址。不同的 java 版本档案不仅版本不同,扩展名也不同。

  • 不再有效。 (2认同)

小智 6

来自mkyong.com的提示:您可以使用wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]下载,而无需从浏览器中提取 cookie。