Загрузка Java JDK в Linux через wget показана на странице лицензии вместо
Когда я пытаюсь загрузить Java из Oracle, я вместо этого загружаю страницу, сообщающую мне, что мне нужно согласие с условиями лицензии OTN.
К сожалению!
Чтобы загрузить продукты из Oracle Technology Network, вы должны согласиться с условиями лицензии OTN.
Убедитесь, что...
- В вашем браузере есть файлы cookie и JavaScript.
- Вы нажали "Принять лицензию" для продукта, который хотите загрузить.
- Вы пытаетесь выполнить загрузку в течение 30 минут после принятия лицензии.
Как загрузить и установить Java?
Ответы
Ответ 1
ОБНОВЛЕНО для 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:
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
Во всех вышеперечисленных случаях подставьте "i586" вместо "x64", чтобы загрузить 32-разрядную сборку.
- -j → нежелательные файлы cookie
- -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:
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 здесь: Сайт загрузки Oracle JDK
ОРИГИНАЛЬНЫЙ ОТВЕТ ОТ 9 июня 2012 года
Если вы хотите загрузить 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"
Обязательно замените ссылку для загрузки верной ссылкой для версии, которую вы загружаете.
Ответ 2
(Иранский обновил мой ответ, но здесь, чтобы уточнить все это.)
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"
С 15 марта 2014 года этот файл cookie предоставляется пользователю после принятия лицензионного соглашения и необходим для доступа к пакетам Java на сайте download.oracle.com. В предыдущей (и первой) реализации 27 марта 2012 года использовался файл cookie gpw_e24=http%3A%2F%2Fwww.oracle.com[...]
. Оба случая остаются необъявленными для общественности.
Значение не обязательно должно быть " accept-securebackup-cookie
".
Требуется для Wget <1.13
-
--no-check-certificate
Требуется только с wget 1.12 и более ранними версиями, которые не поддерживают сертификаты Subject Alternative Name (SAN) (в основном Red Hat Enterprise Linux 6.x и его друзей, таких как CentOS). 1.13 был выпущен в августе 2011 года.
Чтобы увидеть текущую версию, используйте: wget --version | head -1
wget --version | head -1
Не требуется
завивать
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 для сохранения файлов (см. Сравнение авторов для большего различия).
Ответ 3
Загрузка Java из командной строки всегда была проблематичной. То, что я делал, это использовать FireFox (другие браузеры могут работать), чтобы загрузить загрузку на моем ноутбуке, приостановите ее (в окнах загрузки), используйте пункт меню "Копировать ссылку на скачивание" в контекстном меню, отображаемом для загрузка файла. Затем этот URL-адрес можно использовать в поле Linux для загрузки того же файла. Я ожидаю, что у URL есть короткое время для жизни. Уродливый, но в целом успешный.
Ответ 4
Обновлено для JDK 8u171 об/мин
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 об/мин
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 об/мин
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 об/мин
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 об/мин
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 об/мин
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
Ответ 5
Я знаю, что Oracle сделал все возможное, чтобы сделать их Java Runtime и Java SDK как можно труднее.
Вот несколько руководств для любителей командной строки.
Для систем типа Debian (проверено на Debian
сжатие и Ubuntu
12.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
Примечание: если вы знаете, что лучше или проще добавить комментарий, я обновлю руководство.
Ответ 6
Java SE Development Kit 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
Ответ 7
последние испытания,
wget --no-cookies --no-check-certificate -header "Cookie: gpw_e24 = http% 3A% 2F% 2Fwww.oracle.com" " https://edelivery.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-x64.tar.gz"
Помните, что проверка сертификата отключена, если вам нужна абсолютная безопасность.:)
Ответ 8
Oracle поставила cookie-предупреждение в ссылку для загрузки, чтобы заставить вас согласиться на условия, даже если лицензионное соглашение на использование Java четко заявляет, что просто используя Java, вы соглашаетесь с лицензией.
Метод, который хочет Oracle, - это загрузить его с помощью соглашения. После этого этот script cn будет изменен для вашего конкретного 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
Ответ 9
Для тех, кто нуждается в 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
Ответ 10
Это работает для 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
Ответ 11
Вместо того, чтобы использовать для каждой новой версии Java новую ссылку или изменять существующие сценарии, я искал более общий способ автоматизации загрузки необходимых пакетов Java и последующей установки с помощью yum localinstall ${JAVA_ENVIRONMENT}-${JAVA_VERSION}-linux-x64.rpm
.
Я использовал какой-то тривиальный подход, подобный ручному/пользовательскому действию, чтобы найти пакет и загрузить его. Я также почти уверен, что можно найти более элегантный способ сделать это, используя другие инструменты, такие как egrep
, awk
и т.д., Поэтому оставьте это в качестве примера здесь:
#!/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
.
Ответ 12
эта команда может загрузить пакет jdk8 tgz прямо сейчас (2018-09-06), удачи!
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"
Ответ 13
Все вышеизложенное, похоже, предполагает, что вы знаете URL-адрес для новейшего RPM Java...
Oracle предоставляет постоянные ссылки на последние обновления каждой версии Java, как описано в
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=397248601136938&id=1414485.1 - хотя вам нужно создать/войти в учетную запись службы поддержки Oracle. * В противном случае вы можете получить доступ только к последнему "общедоступному" обновлению каждой версии Java, например. 1.6_u45 (март 2013 г., последнее обновление - u65, октябрь 2013 г.) *
Как только вы знаете постоянную ссылку, вы сможете решить ее до реальной загрузки;
Для меня работает следующее, хотя я еще не знаю, изменяется ли ссылка "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.
Ответ 14
Как уже размещено здесь:
fooobar.com/questions/14899/...
Обновление для обновления JDK 8 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
жирная часть должна быть заменена пакетом по вашему вкусу.
Ответ 15
Я решаю это (для дистрибутивов Linux на основе Debian), создавая пакеты с использованием java-package
несколько раз (для разных архитектур), а затем распространяя их внутри.
Большая сторона плюса заключается в том, что этот метод всегда работает; независимо от того, как сумасшедшие веб-страницы Oracle становятся. 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, в котором говорится:
... Oracle предоставляет вам... лицензию... для воспроизведения и использования внутри Программного обеспечения полной и немодифицированной с единственной целью запуска программ "
В конце приема, если у вас есть защищенный паролем apt repo, все, что вам нужно сделать, это apt-get install
it. Если у вас есть необработанные пакеты, загрузите, расшифруйте и dpkg -i
их. Работает как шарм!
Ответ 16
Я сделал jdk-download script (специфичный для tar.gz) для своих ящиков gentoo. Не нужно обновлять, как и другие подобные скрипты, пытаясь "переустановить" загрузку последней сборки для любой версии, которую вы хотите.
ИСПОЛЬЗОВАНИЕ
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?!!)
Сообщение в блоге
Источник на битбакете
Ответ 17
Принятый ответ не работал у меня, начиная с 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
.
Ответ 18
wget Это работало для меня 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"
Ответ 19
Попробуйте
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.
source: Загрузка Oracle JVM с использованием curl/wget
Ответ 20
oracle-java-download - это проект GitHub, который позволяет создавать ссылки для загрузки JDK 8 и JDK 9, которые вы можете использовать для дальнейшего например, в процессах автоматической сборки или развертывания.
Для этого требуется Linux, Docker и JDK >= 8.
Ответ 21
wget --no-cookie --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_40effcfefd78d78bce1cb03030
Ответ 22
контекст
Недавно я столкнулся с той же проблемой, и хотя комментарии на этой странице и некоторые другие содержали полезные советы - я подумал, что было бы хорошо документировать шаги, которые я предпринял, чтобы решить эту проблему, для людей, которые могут нуждаться в дальнейшей помощи.
Сведения о системе
Я следую PNDA, настроенной на AWS, следуя пошаговому руководству по установке pnda по адресу:
https://github.com/pndaproject/pnda-guide/blob/develop/provisioning/aws/PREPARE.md
Я использую ubuntu 14.04 [бесплатный уровень, соответствующий требованиям] в облаке AWS, и использую код с 64-битного ноутбука Windows8.1. Я использую PUTTY для подключения к экземпляру сервера. Я git клонировал код pnda из https://github.com/pndaproject/pnda в экземпляр ubuntu.
Важное примечание Обратите внимание: если вы планируете использовать экземпляр Ubuntu в AWS, убедитесь, что он установлен только в версии 14.04. Если вы используете версию 16, она не работает. Я научился этому нелегко!
Шаги разрешения
Те, кто зашел так далеко, что столкнулись с обсуждаемой здесь ошибкой, знают: файл создания зеркала включает следующие шаги:
1) Запустите скрипт create_mirror.sh [ sudo su -s./create_mirror.sh ]
чтобы запустить процесс создания полного зеркала
2) Этот скрипт, в свою очередь, вызывает различные другие скрипты - один из них - create_mirror_misc.sh; этот скрипт ссылается на pnda-static-file-dependencies.txt
котором есть список файлов для загрузки.
3) В самой первой строке pnda -s tatic-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
Я надеюсь, что это полезно.
Ответ 23
тебе стоит попробовать:
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
Ответ 24
скачать 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
Ответ 25
Это происходит потому, что когда вы нажимаете кнопку "Принять" на странице загрузки в вашем браузере, веб-страница сохраняет файл cookie, который используется для проверки вашего соглашения, прежде чем вы сможете загрузить файл. Проблема возникает при попытке загрузки из командной строки с помощью wget, поскольку она не отправляет информацию о файлах cookie с запросом wget о загрузке файла, поэтому с точки зрения файлового сервера вы совершенно новый пользователь, который не принял лицензию соглашение.
Одним из решений является отправка информации о файлах cookie с помощью опции --header утилиты wget (как показано выше в других ответах). В идеале, если какой-либо контент защищен, вы должны использовать различные опции управления сеансами, доступные в wget. Однако для этой конкретной проблемы она решена (в настоящее время) путем отправки заголовка Cookie
с запросом на загрузку.
Ответ 26
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"
Ответ 27
Почему бы не нажать, чтобы загрузить из браузера, а затем скопируйте и вставьте точную ссылку, где она была загружена, например:
wget http://download.oracle.com/otn-pub/java/jdk/7u40-b43/jdk-7u40-linux-x64.tar.gz?AuthParam=1380225131_dd70d2038c57a4729d8c0226684xxxx
Вы можете найти ссылку, просмотрев вкладку сети вашего браузера после принятия условий в oracle и щелкая для загрузки. F12 в Chrome. Firebug в Firefox.