wgetを介してLinuxにJava JDKをダウンロードすると、代わりにライセンスページが表示されます


615

OracleからJavaをダウンロードしようとすると、代わりに、OTNライセンス条項に同意する必要があることを通知するページをダウンロードしてしまいます。

ごめんなさい!

Oracle Technology Networkから製品をダウンロードするには、OTNライセンス条件に同意する必要があります。

確認してください...

  • あなたのブラウザは「クッキー」とJavaScriptが有効になっています。
  • ダウンロードしたい製品の「Accept License」をクリックしました。
  • ライセンスを受け入れてから30分以内にダウンロードを試みます。

Javaをダウンロードしてインストールするにはどうすればよいですか?


この質問は、開発者が開発キットをインストールする方法に関連しているため、話題になっています。その理由でそれを再開します。
ジョージストッカー

回答:


1659

Oracle JDK 11用に更新

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/11+28/55eed80b163941c8885ad9298e6d786a/jdk-11_linux-x64_bin.tar.gz

JDK 10.0.2向けに更新

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz

JDK 10.0.1向けに更新

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.tar.gz

JDK 9更新されました。ヘッダーを送信せずに、java.netから直接ダウンロードできるようです。

wget http://download.java.net/java/GA/jdk9/9/binaries/jdk-9+181_linux-x64_bin.tar.gz

JDK 8u191用に更新

TAR GZ:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3a%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html; oraclelicense=accept-securebackup-cookie;" "https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz"

RPM:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3a%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html; oraclelicense=accept-securebackup-cookie;" "https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.rpm"

JDK 8u131用に更新

RPM:

  wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm

TAR GZ:

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

curlを使用したRPM:

 curl -v -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm > jdk-8u112-linux-x64.rpm

上記のすべてのケースで、「x64」の代わりに「i586」を使用して、32ビットのビルドをダウンロードします。

  • -j- >ジャンククッキー
  • -k- >証明書を無視
  • -L- >リダイレクトに従う
  • -H [arg] ->ヘッダー

curlの代わりに使用できますwget

JDK 7u79の更新

TAR GZ:

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

curlを使用したRPM:

curl -v -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm > jdk-7u79-linux-x64.rpm

ここでも、ダウンロードするバージョンの正しいURLを指定していることを確認してください。URLは次の場所にあります。OracleJDKダウンロードサイト

2012年6月9日の元の回答

を使用してコマンドラインからOracle JDKをダウンロードするwget場合は、回避策があります。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"

ダウンロードリンクは、ダウンロードするバージョンに適したものに置き換えてください。


6
(たぶん、このジリオンの再投稿は最終的にトリックを実行します。)シンプル--header "Cookie: oraclelicense=accept-securebackup-cookie"(または--header "Cookie: oraclelicense=[any-character(s)-but-a-single-space]")はうまく機能しているようです。確認してもらえますか?
Det

2
新しいJava 8の更新:wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8-b132/jdk-8-linux-x64.tar.gz--no-クッキーは冗長であり、--no-チェック証明書が唯一である必要Wgetは SANのサポート(主にRHEL / CentOSの6.xのを)不足している1.12およびそれ以前、。cURLのバージョンは次のとおりです。curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jdk/8-b132/jdk-8-linux-x64.tar.gz
デット

3
私が試した新しい121 versonとURL download.oracle.com/otn-pub/java/jdk/8u121-b13/...それが動作するようには思えません。何か考えは?
Nam Nguyen

3
エラー404が発生しました:JDK 11では見つかりませんでした。URLが間違っている可能性がありますか?
Tien Dung Tran

2
Oracle JDK 11向けに更新されたソリューションが機能しなくなった
ボンバ

247

Iraniは私の答えを更新しましたが、ここではそれをすべて明確にするために示します。

編集:2018年10月16日にリリースされたJava 11.0.1用に更新

Wget

wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz

JRE 8u191(Cookieフラグなし): http
: //javadl.oracle.com/webapps/download/AutoDL?BundleId=235717_2787e4a523244c269598db4e85c51e0c詳細については、oracle.comおよびjava.comのダウンロードを参照してください。

  • -c / --continue

    未完了のダウンロードを続行できます。

  • --header "Cookie: oraclelicense=accept-securebackup-cookie"

    2014年3月15日以降、このCookieはライセンス契約に同意した後にユーザーに提供され、download.oracle.comの Javaパッケージにアクセスするために必要です。2012年3月27日の以前の(そして最初の)実装はCookieを利用していましたgpw_e24=http%3A%2F%2Fwww.oracle.com[...]。どちらのケースも公表されていないままです。

    値は「accept-securebackup-cookie」である必要はありません。

Wget <1.13に必要

  • --no-check-certificate

    サブジェクトの別名(SAN)証明書(主にRed Hat Enterprise Linux 6.xおよびCentOSなどの友人)をサポートないwget 1.12以前のみ必要です。1.13は2011年8月にリリースされました。

    現在のバージョンを確認するには、次を使用します。 wget --version | head -1

必要ありません

  • --no-cookies

    この組み合わせ--no-cookies --header "Cookie: name=value"は「公式」のCookieサポートとして言及されていますが、ここでは厳密には必須ではありません。

カール

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz
  • -L / --location

    cURLがすべてのミラーを介してリダイレクトするために必要です。

  • -C / --continue-at -

    上記を参照。cURLでは、-最後にダッシュ()が必要です。

  • -b / --cookie "oraclelicense=accept-securebackup-cookie"

    と同じですが-H / --header "Cookie: ..."、ファイルも受け入れます。

  • -O

    cURLがファイルを保存するために必要です(詳細については、作成者の比較を参照してください)。


2
「前のダッシュ」は「どちらかの形式のオプションの後のダッシュ」である必要がありますが、これは優れた要約です。
Alex Dupuy 2014年

1
まあ、私はそれを「cURL -には最後にダッシュ()が必要です。」に変更しました。それはflag、コマンドの他の形式がすでにどのように表示されているかを考えると、十分に明確なはずです。
Det

1
ダウンロード121.url.oracle.com/otn-pub/java/jdk/8u121-b13/を使用して新しい121バージョンを試しましたが、動作しないようです。何か考え?
Nam Nguyen

1
古いバージョンでは動作しないようです。8u121をダウンロードできません。たぶんDownloading these releases requires an oracle.com account。回避策はありますか?
ALex_hha

1
私たちはdockerを使用しています。そのため、特定のバージョンのJavaを使用する必要があります。はい、私はいくつかのftp上のファイルを見つけることができますが、私はちょうど今からあなたは自分のアカウントを持たないサイトからの以前のバージョンをダウンロードすることができないことを述べてきました
ALex_hha

35

コマンドラインからJavaをダウンロードするのは常に面倒です。私が最近行っているのは、FireFox(他のブラウザでも動作する可能性があります)を使用してラップトップでダウンロードを開始し、一時停止して([ダウンロード]ウィンドウ内で)、表示されるコンテキストメニューの[コピーダウンロードリンク]メニュー項目を使用することですファイルをダウンロードしています。このURLをLinuxボックスで使用して、同じファイルをダウンロードできます。URLの存続時間が短いと思います。醜いですが、一般的には成功しています。


はい、うまくいきます。いいね。download.oracle.com/otn-pub/java/jdk/7u9-b05/…の
Mukus

3
これは興味深い問題ですが、質問には答えません。FireFoxをクリックすることは、「自動ダウンロード」と互換性がありません。
ステフェイン・グーリッホン

今日のブラウザー(複数形)ほど面倒ではありません(翻訳:不可能)。途中の約10〜20%でOracleのサーバーが切断され、ダウンロードが途切れてしまいました。CLIツールは少なくとも中断したところから再試行し、最終的にいずれかの実行がタイムアウト/拒否なしで完了します。
Roboprog、2015年

優秀な!クエリパラメータAuthParamは、ユーザーがライセンスに同意したかどうかをOracleのチェックと関連させます。
asgs

今日私のために働く唯一の解決策。Accept Cookieパラメータを使用した上記のすべてのwgetトリックは機能しませんでした。
Saad Benbouzid

23

JDK 8u171 RPM用に更新

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm

以下の古いリンク

JDK 8u161 RPM用に更新

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm

JDK 8u152 RPM用に更新

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.rpm

JDK 8u144 RPM用に更新

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm

JDK 8u131 RPM用に更新

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

JDK 8u121 RPM用に更新

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm


2
これは絶対に役に立ちました。tar.gzを使用するには、.rpmを.tar.gzに変更するだけでした
Yoraco Gonzales

19

OracleがJavaランタイムとJava SDKを可能な限り困難にするためにあらゆることを可能にしたことを知っています。

コマンドライン愛好家向けのガイドをいくつか紹介します。

Debianのようなシステムの場合(DebiansqueezeおよびUbuntu12.x +でテスト済み)

su -
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get update
apt-get install --yes oracle-java7-installer
exit

注:コメントを追加する方法がわかっている場合は、ガイドを更新します。


2
2013-11-02現在、他の方法は異なるバージョンで調整するのが容易ではありません。この方法は、現在のバージョンが何であっても機能し、「-yes」などのapt-getオプションを使用して自動化/スクリプト化/無人で実行できます。
ステフェイン・グーリッホン

--yes, --assume-yes, --force-yesオプションを指定したoracle-java8-installerでこの方法を試しました が、毎回のインストールでEnterキーを使用した使用許諾契約に同意する必要があります。
Drey

9

Java SE開発キット12.0.2

TAR.GZ

wget  --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.2+10/e482c34c86bd4bf8b56c0b35558996b9/jdk-12.0.2_linux-x64_bin.tar.gz

なんで--no-check-certificate?このスイッチがなくても正常に機能するため、セキュリティの観点から、特に使用されなくなった場合は使用しないでください。
tymik


6

Javaを使用するためのライセンス契約では、Javaを使用するだけでライセンスに「同意する」と明示されている場合でも、Oracleはダウンロードリンクに防止Cookieを配置して、条件に同意するように強制します。

Oracleが望んでいる方法は、同意を得てダウンロードすることです。その後、このスクリプトは特定のLinux用に変更できます

#!/bin/bash
#Author: Yucca Nel http://thejarbar.org
#Will restart system
#Modify these variables as needed...
tempWork=/tmp/work
locBin=/usr/local/bin
javaUsrLib=/usr/lib/jvm

sudo mkdir -p $javaUsrLib
mkdir -p $tempWork
cd $tempWork

#Extract the download
tar -zxvf $downloadDir/jdk*tar.gz

#Move it to where it can be found...

sudo mv -f $tempWork/jdk* $javaUsrLib/

sudo ln -f -s $javaUsrLib/jdk1/bin/* /usr/bin/

#Update this line to reflect versions of JDK...
export JAVA_HOME="$javaUsrLib/jdk1.7.0_03"
#Extract the download
tar -zxvf $tempWork/*

#Move it to where it can be found...

sudo mv -f $tempWork/jdk1* $javaUsrLib/

sudo ln -f -s $javaUsrLib/jdk1*/bin/* /usr/bin/
sudo rm -rf $tempWork
#Update this line to reflect newer versions of JDK...
export JAVA_HOME="$javaUsrLib/jdk1.7.0_03"

if ! grep "JAVA_HOME=$javaUsrLib/jdk1.7.0_03" /etc/environment
then
    echo "JAVA_HOME=$javaUsrLib/jdk1.7.0_03"| sudo tee -a /etc/environment
fi


exit 0

1
この回答は、あなたがLinuxを使用していて、それを非標準的な方法/場所でインストールしたいこと、そして他のものの束を想定している。より適切な答えは、「ダウンロードWebサイトのインストール手順に従うだけ」です... Ubuntuを使用している場合を除き、他の方法で実行できます。
スティーブンC

8
そして、質問のタイトルにLinuxが含まれている場合、回答がLinuxであると想定するのはどうして奇妙なことでしょうか。Linux自体がそうではないので、領収書は万能ではありません。これが私自身の質問に対する私自身の答えであることを考えると、私はそれをテストし、それが私のために働いた。
thejartender 2013

6

JCE8も必要な場合は、ダウンロードすることもできます。

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip

または

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip

5

これはJDK 6で機能し、ダウンロードURLを最新バージョンに置き換えるだけです。

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk6-downloads-1637591.html;" http://download.oracle.com/otn-pub/java/jdk/6u33-b03/jdk-6u33-linux-x64.bin

これは機能しますが、6u33-b03を使用している部分があるため、6u48を選択できませんでした。
Jacob Phillips

2013-11-02では、これを機能させることができませんでした。ファイルの代わりにHTML登録ページをダウンロードします。
ステフェイン・グーリッホン

5

このコマンドは、現時点(2018-09-06)でjdk8 tgzパッケージをダウンロードできます。

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"

私は他のコマンドを試しましたが何も機能しませんでしたが、これはスムーズに機能しました(20 / Sep / 2019で実行)。
別のコーダー

4

新しいJavaバージョンごとに新しいリンクを使用したり、既存のスクリプトを変更したりする代わりに、必要なJavaパッケージのダウンロードを自動化し、を介して後でインストールする、より一般的な方法を探していましたyum localinstall ${JAVA_ENVIRONMENT}-${JAVA_VERSION}-linux-x64.rpm

パッケージを見つけてダウンロードするために、手動/ユーザーアクションに似た、なんとなく平凡なアプローチを使用しました。私はかなり確信して1は次のように他のツールを使って、それを行うには、よりエレガントな方法を見つけることもしていますegrepawkので、ここでの例としてそれを残す、など。、:

#!/bin/bash

### Proxy settings
# If there is a company proxy 

PROXY="my.proxy.local:8080"
PROXY_TYPE="--proxy-ntlm" # or leave empty with ""
USER="user"
PASS='pass'

### Find out the links to JRE and JDK 
# To do so, got to the page http://www.oracle.com/technetwork/java/javase/downloads/

BASE_URL="technetwork/java/javase/downloads"

# Put the whole page into a single string/line

BASE_URL_OUTPUT="$(curl -s -k ${PROXY_TYPE} -x "http://${USER}:${PASS}@${PROXY}" -L0 http://www.oracle.com/${BASE_URL}/)"

# Define the environments to download 

JAVA_ENVIRONMENTS=("JRE" "JDK") # ! yet "SERVER-JRE"

for JAVA_ENVIRONMENT in "${JAVA_ENVIRONMENTS[@]}"
do

echo
echo "JAVA_ENVIRONMENT="$JAVA_ENVIRONMENT
echo

for (( JAVA_BASE_VERSION = 8; JAVA_BASE_VERSION <= 10; JAVA_BASE_VERSION += 2 ))  
do

echo "JAVA_BASE_VERSION="$JAVA_BASE_VERSION

### "Read the page"
# and follow the links for the package interested in 

DOWNLOAD_SITE="$(echo $BASE_URL_OUTPUT | grep -m 1 -io "${JAVA_ENVIRONMENT}${JAVA_BASE_VERSION}-downloads-[0-9]*.html" -- | tail -1)"
echo "DOWNLOAD_SITE="$DOWNLOAD_SITE

### Gather the necessary download links
# To do so, following the link to the download site
# reading and accept the license 
# 
# ... the greedy regular expression is to address the different syntax of the links
# and already prepared for OR .gz files 

DOWNLOAD_LINK_OUTPUT="$(curl -s -k ${PROXY_TYPE} -x "http://${USER}:${PASS}@${PROXY}" -L -j -H "Cookie: oraclelicense=accept-securebackup-cookie" http://www.oracle.com/${BASE_URL}/${DOWNLOAD_SITE} |  grep -io "filepath.*${JAVA_ENVIRONMENT}-[${JAVA_BASE_VERSION}].*linux[-_]x64[._].*\(rpm\)" -- | cut -d '"' -f 3 | tail -1)"

# and echo out the link

echo "DOWNLOAD_LINK_OUTPUT="$DOWNLOAD_LINK_OUTPUT

done

done

ダウンロードリンクが利用できるようになったため、wgetまたはを使用して先に進むことができますcurl


3

上記のすべては、最新のJava RPMのURLを知っていることを前提としているようです...

Oracleは、https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop = 397248601136938&id = 1414485.1に記載されているように、各Javaバージョンの最新の更新への永続的なリンクを提供し ます -ただし、Oracleサポートアカウントに作成/ログインする必要があります。*それ以外の場合は、各Javaバージョンの最後の「パブリック」アップデートにのみアクセスできます。例:1.6_u45(2013年3月;最新のアップデートはu65、2013年10月)*

固定リンクがわかったら、それを実際のダウンロードに解決できるはずです。「aru」参照が変更されるかどうかはまだわかりませんが、次のように機能します。

ME=<myOracleID>
PW=<myOraclePW>
PATCH_FILE=p13079846_17000_Linux-x86-64.zip

echo "Get real URL from the persistent link"

wget -o getrealurl.out --no-cookies --no-check-certificate --user=$ME \
--password=$PW --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" \
https://updates.oracle.com/Orion/Services/download/$PATCH_FILE?aru=16884382&\
patch_file=$PATCH_FILE

wait    # wget appears to go into background, so "wait" waits 
        # until all background processes complete

REALURL=`grep "^--" getrealurl.out |tail -1 |sed -e 's/.*http/http/'`
wget -O $PATCH_FILE $REALURL
#These last steps must be done quickly, as the REALURL seems to have a short-lived 
#cookie on it and I've had no success with  --keep-session-cookies etc.

1
パスワードを送信するときに--no-check-certificateを使用しないことを強くお勧めします。
リックモリッツ

3

すでにここに投稿されています:https : //stackoverflow.com/a/41718895/4370196

JDK 8 Update 121のアップデート

Oracleはダウンロードリンクにmd5hashを挿入したため、コマンドラインのダウンロードリンクを自動的にアセンブルすることはできません。

そこで、厄介なbashコマンドラインをいじって、最新のjdkダウンロードリンクを取得し、ダウンロードして、rpmで直接インストールしました。興味のあるすべての人のために:

wget -q http://www.oracle.com/technetwork/java/javase/downloads/index.html -O ./index.html && grep -Eoi '] +>' index.html | grep -Eoi '/technetwork/java/javase/downloads/jdk8-downloads-[0-9]+.html' | (head -n 1)| awk '{print " http://www.oracle.com " $ 1}' | xargs wget --no-cookies --header "Cookie:gpw_e24 = xxx; oraclelicense = accept-securebackup-cookie;" -O index.html -q && grep -Eoi '"filepath": "[^"] + jdk-8u [0-9] + -linux-x64.rpm "' index.html | grep -Eoi 'http:[ ^ "] + '| xargs wget --no-cookies --header "Cookie:gpw_e24 = xxx; oraclelicense = accept-securebackup-cookie;" -q -O ./jdk8.rpm && sudo rpm -i ./jdk8.rpm

太字の部分は、お好みのパッケージによって置き換えられるべきです。


はい、リンクを組み立てるのはそれほど簡単ではありません。私は、bashスクリプトで同様のアプローチを使用して、バージョン8および9の最新のJREおよびJDKダウンロードリンクを取得しました。このスレッドに回答として記載されています
U880D

2

私はこれを(DebianベースのLinuxディストリビューションの場合)java-package数回(さまざまなアーキテクチャーで)使用してパッケージを作成し、内部で配布することで解決します。

大きなプラス面は、この方法が常に機能することです。オラクルのウェブページがどんなにクレイジーになろうとも。Oracleがビルドを壊すことはもうありません!

欠点は、最初に設定するのが少し手間がかかることです。

  • ブラウザでtar.gzファイルを手動でダウンロードします(そのため、用語を「受け入れる」)
  • を実行しますmake-jpkg jdk-7u51-linux-x64.tar.gz。これによりoracle-java8-jdk_8_amd64.deb
  • 組織内で配布する

インターネットで配布する場合は、パスワードで保護されたaptリポジトリを使用するか、対称暗号化を使用して未加工のパッケージを提供することをお勧めします。

passphrase="Hard to crack string. Use /dev/urandom for inspiration."
gpg --batch --symmetric --force-mdc --passphrase-fd 0 \
   oracle-java8-jdk_8_amd64.deb <<< "$passphrase"

もちろん、インターネット上で(暗号化されていない).debパッケージを提供することは、おそらく Oracleとのライセンス契約違反であり、次のように述べています。

...オラクルはあなたに...ライセンスを付与します...プログラムを実行することのみを目的として、完全かつ変更されていないソフトウェアを内部で複製および使用するために」

受信側で、パスワードで保護されたaptリポジトリがあれば、apt-get installそれを行うだけです。未加工のパッケージがある場合は、ダウンロードして解読しdpkg -iます。魅力的な作品!


2
これは、ライセンスを尊重して実装された方法です。これは素晴らしいです:-)
Kowser

2

wget This Worked for me JDK8

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2F%www.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"

2

2017-04-25の時点で、受け入れられた回答は機能しませんでした。ただし、簡単な解決策では-b--headerオプションの代わりにフラグを使用していました。

たとえば、jdk-1.8_131を取得するには:

version='8u131'; wget -H -O jdk-$version-linux-x64.tar.gz --no-check-certificate --no-cookies -b "oraclelicense=a" http://download.oracle.com/otn-pub/java/jdk/$version-b11/jdk-$version-linux-x64.tar.gz

これはバックグラウンドで実行され、出力がに書き込まれwget-logます。


1

試す

wget --no-cookies --header "Cookie: s_nr=1359635827494; s_cc=true; gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk6downloads-1902814.html; s_sq=%5B%5BB%5D%5D; gpv_p24=no%20value" http://download.oracle.com/otn-pub/java/jdk/6u45-b06/jdk-6u45-linux-x64-rpm.bin --no-check-certificate -O ./jdk-6u45-linux-x64-rpm.bin

私のようにOracle JDK 6を入手しようとしている場合。

ソース:curl / wgetを使用したOracle JVMダウンロード


1

gentooボックス用のjdk-downloadスクリプト(tar.gzに固有)を作成しました。他の同様のスクリプトのように更新する必要はありません。好きなバージョンの最新ビルドを「ブルートフォース」でダウンロードしようとします。

使用法

jdk-download< <version> <platform> [<build>]

* <version> - Something like "8u40"
* <platform> - Usually i586 or x64
* <build> - The internal build number used by oracle, to avoid guessing and trying to download starting from 99 to 1 (build 0, really?!!)

ブログ投稿

bitbucketのソース


1

oracle-java-downloadは、GitHub上のプロジェクトであり、JDK 8およびJDK 9のダウンロードリンクを作成して、自動化されたビルドやデプロイメントプロセスなどのさらなる処理に使用できます。

実行するには、Linux、Docker、JDK> = 8が必要です。


1

wget --no-cookies --no-check-certificate --header "Cookie:gpw_e24 = http%3A%2F%2Fwww.oracle.com%2F; oraclelicense = accept-securebackup-cookie" " http:// download。 oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm?AuthParam=1516282527_40effcfefd78d78bce12c0a4030a1b05 "


HTTPリクエストが送信され、応答を待っています... 403 Forbidden 2018-01-24 03:24:51 ERROR 403:Forbidden。
エゼキエルバニアガ2018年

1

環境

私は最近同じ問題に直面しましたが、このページと他のいくつかのコメントは役立つヒントを提供しましたが、さらに助けが必要な可能性のある人々のために問題を修正するために取った手順を文書化するとよいと思いました。

システムの詳細

AWSで設定されたPNDAに従って、次のpndaインストールガイドを順番に実行します。

https://github.com/pndaproject/pnda-guide/blob/develop/provisioning/aws/PREPARE.md

AWSクラウドでubuntu 14.04 [無料枠対象]を使用しており、64ビットのwindows8.1ラップトップからコードを実行しています。サーバーインスタンスへの接続にPUTTYを使用しています。https://github.com/pndaproject/pndaからubuntuインスタンスにpndaコードをgitでクローンしました。

重要な注意 事項AWSでUbuntuインスタンスを使用する場合は、14.04のみであることを確認してください。バージョン16を使用すると機能しません。私はそれを難し​​い方法で学びました!

解決手順

ここで説明されているエラーが発生するまで行った人は知っているでしょう-ミラー作成ファイルには次の手順が含まれます-

1)スクリプトcreate_mirror.sh [ sudo su -s ./create_mirror.sh ]を実行して、完全なミラー作成プロセスを実行します。

2)次に、このスクリプトは他のさまざまなスクリプトを呼び出します。そのうちの1つはcreate_mirror_misc.shです。このスクリプトは、pnda-static-file-dependencies.txtダウンロードするファイルのリストを参照します。

3)pnda-static-file-dependencies.txtの最初の行は、jdk-8u131-linux-x64.tar.gzファイルをからダウンロードするための参照 http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz oraclelicense=accept-securebackup-cookieです。この時点で、スクリプトが失敗してメッセージが表示されましたFailed to download http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz after 3 retries

4)ページを閲覧したhttp://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gzところ、次のエラーメッセージが表示されました。**In order to download products from Oracle Technology Network you must agree to the OTN license terms**

5)この問題を解決するために、私は以下の変更を行いましたpnda-static-file-dependencies.txt。--no-check-certificate --no-cookiesを追加して、ライセンス契約条件をバイパスしました

6)したがって、改訂されたコードは次のようになります- http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz --no-check-certificate --no-cookies oraclelicense=accept-securebackup-cookie

これがお役に立てば幸いです。


1

試してみてください:

wget \
        --no-cookies \
        --header "Cookie: oraclelicense=accept-securebackup-cookie" \
        http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.tar.gz \
        -O java.tar.gz

1

jdk 8u221をダウンロード

$ 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}')

私のブログ044-wget下载jdk8u221


0

これは、ブラウザのダウンロードページで[同意する]ボタンをクリックすると、ファイルをダウンロードする前に同意を確認するために使用するCookieがWebページに保存されるために発生します。wgetを使用してコマンドラインからダウンロードしようとすると問題が発生します。これは、ファイルをダウンロードするためのwgetリクエストで送信されたCookie情報がないため、ファイルサーバーの観点から、ライセンスに同意していない完全に新しいユーザーです。契約。

1つの解決策は、wgetユーティリティの--headerオプションを使用してCookie情報を送信することです(他の回答で上記に示されています)。一部のコンテンツが保護されている場合は、wgetで使用できるさまざまなセッション管理オプションを使用するのが理想的です。ただし、この特定の問題についてCookieは、ダウンロードリクエストとともにヘッダーを送信することで(現在)解決されています。


[ http://download.oracle.com/otn/java/...http://download.oracle.com/otn-pub/java/.../otn//otn-pub/
同意

0

コマンドを自分で取得する方法は次のとおりです。これはどのバージョンでも機能します:

  1. パッケージページへのアクセス:https : //www.oracle.com/java/technologies/javase-jdk11-downloads.html
  2. 目的のパッケージのダウンロードリンクをクリックします
  3. 「確認して同意...」したことを示すチェックボックスをオンにします
  4. 右クリックして、ボタンからリンクアドレスをコピーします
  5. テキストエディターに貼り付けてから、「nexturl =」以降のすべてを「https://」からコピーします。
  6. このコマンドでダウンロードURLを更新すると、次のようになります。

    wget --no-check-certificate -c --header "Cookie:oraclelicense = accept-securebackup-cookie" https://download.oracle.com/otn/java/jdk/11.0.6+8/90eb79fb590d45c8971362673c5ab495/jdk- 11.0.6_linux-x64_bin.tar.gz

wgetをさらに説明するには、--no-check-certificateは十分に明確である必要がありますが、ヘッダーのコンテンツ(すべての呼び出し)は、ブラウザーのDeveloper Tools Networkタブを使用して見つけることができます。開発者ツールは強力であり、学ぶ価値は十分あります。楽しい。


0

@eric答えは私のためのトリックをしました、あなたはあなたが設定しているコマンドの用語を受け入れる必要があります

"Cookie: oraclelicense=accept-securebackup-cookie"

したがって、最終的なコマンドはこのようになります

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

に変更8u131することで、バージョンの更新を決定でき8uXXXます。長い間、リポジトリで利用できます。


-3
sudo wget --no-check-certificate --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm"

-4

ブラウザからダウンロードするためにクリックして、ダウンロードした場所の正確なリンクをコピーして貼り付けてみませんか。例:

wget http://download.oracle.com/otn-pub/java/jdk/7u40-b43/jdk-7u40-linux-x64.tar.gz?AuthParam=1380225131_dd70d2038c57a4729d8c0226684xxxx

オラクルの条項に同意し、ダウンロードしてクリックした後、ブラウザーのネットワークタブを確認すると、リンクを確認できます。ChromeのF12。FirefoxのFirebug。


1
人々がこれを必要とするのは、bashスクリプトを使用してサーバーにJavaを自動インストールするためです。
ササŠijak
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.