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

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

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

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

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

谢谢

答案1

“自动化” 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
    
  4. 笔记:

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

答案2

stackoverflow上有一个类似的问题:如何在 Linux 上自动下载和安装 Java JDK?

使用 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"

最后一个参数是下载的 URL。不同 Java 版本的档案不仅版本不同,扩展名也不同。

答案3

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

答案4

不使用 Cookie 的快捷方法:

  • 在浏览器中开始下载
  • 暂停下载
  • 复制用于下载的 URL
  • 使用 wget 的 URL: wget --no-check-certificate URL_FOR_DOWNLOAD

该 URL 可能仅在有限的时间内有效(通常为 30 分钟)。

相关内容