044-wget免登陆下载jdk8u291

3,934 阅读1分钟

这是坚持技术写作计划(含翻译)的第44篇,定个小目标999,每周最少2篇。

本文主要介绍如何使用wget免登陆下载可用的jdk 8u291,介绍6种方式

下载最新的jre8

如果只是安装jre即可,则可以使用(长期有效)

$ url=$(curl -s https://www.java.com/en/download/linux_manual.jsp | grep -E ".*x64.*javadl" | grep -v "RPM" | sed "s/.*href=\"//g;s/\".*//g" | head -n 1)
$ wget -c --content-disposition $url
$ old=$(ls -hat | grep jre | head -n1)
$ mv $old $(echo $old | awk -F"?" '{print $1}')

下载所有版本jdk

参考gist上大佬 rathaROG的办法
gist.github.com/wavezhang/b…

先打开 www.oracle.com/java/techno… 找到需要的二进制文件,
右键F12,找到该选项的data-file属性,复制出来
image.png

例如jdk 8u291版本
https://download.oracle.com/otn/java/jdk/8u291-b10/d7fc238d0cbf4b0dac67be84580cfb4b/jdk-8u291-windows-x64.exe
从其中提取必要信息,替换成 https://javadl.oracle.com/webapps/download/GetFile/1.8.0_[version]-[build_number]/[encrypted_path]/windows-i586/[file_name_exe]格式

[version]: 291
[build_number]: b10
[encrypted_path]: d7fc238d0cbf4b0dac67be84580cfb4b
[file_name_exe]: jdk-8u291-windows-x64.exe

替换完后差不多是 https://javadl.oracle.com/webapps/download/GetFile/1.8.0_291-b10/d7fc238d0cbf4b0dac67be84580cfb4b/windows-i586/jdk-8u291-windows-x64.exe

下载jdk8u221

从oracle官方下载,但是不保证长期可用

$ wget -c --content-disposition "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=239835_230deb18db3e4014bb8e3e8324f81b43"
$ old=$(ls -hat | grep jre | head -n1)
$ mv $old $(echo $old | awk -F"?" '{print $1}')

windows jdk-8u221-windows-x64.exe 地址

https://javadl.oracle.com/webapps/download/AutoDL?BundleId=239842_230deb18db3e4014bb8e3e8324f81b43

下载jdk8u131

长期有效,也是oracle官方下载链接(8u131以后的都404了)

$ wget -O jdk-8u131-linux-x64.tar.gz --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

下载第三方jdk

自行判断校验码,不保证有效性和安全性

$ jdk_name=$(curl -s http://enos.itcollege.ee/~jpoial/allalaadimised/jdk8/ | grep tar.gz | grep -v demo |sed "s/.*href=\"//g;s/\".*//g"|head -n 1)
$ wget -O "$jdk_name" "http://enos.itcollege.ee/~jpoial/allalaadimised/jdk8/$jdk_name"

下载第三方openjdk

长期有效,不保证安全性

Download Java SE Standard Compliant Liberica JDK 8u222

$ wget -O bellsoft-jdk8u222-linux-amd64.tar.gz "https://download.bell-sw.com/java/8u222/bellsoft-jdk8u222-linux-amd64.tar.gz"

从官方下载

方法长期有效,但是AuthParam有时效性,无法写成脚本,也可以安装openjdk

  1. 注册并登陆oracle账号
  2. 打开 www.oracle.com/technetwork…
  3. image.png
  4. image.png
  5. 复制的地址类似 download.oracle.com/otn/java/jd… 其中AuthParam参数是有时效性的
  6. wget -O ``jdk-8u221-linux-x64.tar.gz`` --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "``https://download.oracle.com/otn/java/jdk/8u221-b11/230deb18db3e4014bb8e3e8324f81b43/jdk-8u221-linux-x64.tar.gz?AuthParam=xxxxx_xxxxxxxxxxxxxxxxxx"

题外话

在网上找wget免密码下载jdk时,发现了一个有意思的项目
The catalog may also be accessed using command-line tools, or through a simple HTTP API. 
虽然给出的java相关的因为OTN的原因,都挂了,但是别的还是有些能用的。挺方便的。

招聘小广告

山东济南的小伙伴欢迎投简历啊 加入我们 , 一起搞事情。
长期招聘,Java程序员,大数据工程师,运维工程师,前端工程师。

参考资料