Как обойти страницу лицензии для загрузки Oracle / Sun Java на сервер с помощью wget?


10

Я пытаюсь установить Liferay на Ubuntu Server 12.04, который требует JRE и рекомендует версию 6.

Я не могу найти JRE6 в официальном хранилище и не могу понять, как пройти лицензионное соглашение для загрузки вручную (wget).

Могу ли я добавить значение в wget, чтобы принять лицензионное соглашение Oracle и загрузить файл?

Спасибо


Для будущих искателей, проверьте это: stackoverflow.com/a/10959815/2184122
Роберт Лугг

Ответы:


10

«Автоматизированные» загрузки Oracle Java (JRE / JDK 6/7 и другие ...)

Вам понадобится установленный sqlite3 ; это крошечный пакет, используйте, sudo apt-get install sqlite3если вам нужно.

  1. Откройте Firefox, перейдите на страницу загрузок Java для нужной версии / варианта и нажмите переключатель « Принять лицензионное соглашение ».

    введите описание изображения здесь

  2. Откройте терминал и вставьте его, чтобы извлечь необходимые cookie-файлы сеанса Oracle из базы данных cookie-файлов Firefox SQLite в cookiesформатированный текстовый файл wget( источник для скрипта ):

    echo ".mode tabs
    выберите хост, случай, когда глобус хоста '. *', затем 'ИСТИНА', иначе 'ЛОЖЬ' конец, путь,
    случай, когда isSecure затем «ИСТИНА», иначе «ЛОЖЬ» конец, срок действия, имя, значение
    из moz_cookies; "| sqlite3 ~ / .mozilla / firefox / *. default / cookies.sqlite
    | grep -i oracle> /tmp/oracle-cookies.txt
    
  3. Теперь используйте wgetдля загрузки с этими сессионными куки:

    wget --load-cookies=/tmp/oracle-cookies.txt wget http://download.oracle.com/otn-pub/java/jdk/6u14-b08/jdk-6u14-linux-x64.bin
  4. Заметки:

    • Вы можете использовать эти куки для любой загрузки Oracle, если она идет из otn-pubкаталога
    • Вы можете вставить скрипт в файл .sh для более удобного использования
    • Файлы cookie не связаны с IP-адресом, поэтому для безголового сервера / CLI-сервера просто SCP или перенесите cookiesфайл, и вы можете загрузить его с любого компьютера (но для файла cookie существует 30-минутный таймаут, так что будьте осторожны)
    • Связанный: Как я могу использовать wget / curl для загрузки с сайта, на котором я вошел?

1
Это 100% законно?
Тахионы

@tachyons Да, вы должны открыть браузер на некотором компьютере и нажмите на кнопку «Принять лицензионное соглашение» , прежде чем делать какие - либо из этого ...
иш

Классный трюк, но есть идеи, если он все еще работает? Я продолжаю пробовать его, но он загружает только HTML-страницу с надписью «Извините! Для загрузки продуктов из OTN вы должны согласиться с условиями лицензии OTN». Либо я делаю это неправильно, либо Оракул понял это ...
Куртозис

Вы всегда можете просто пропустить этот URL в браузере :)
Dreamwalker

Хотя этот ответ великолепен, тот, который я только что опубликовал ниже, намного проще. Конечно, вам может понадобиться вернуться к этому, если мой перестанет работать.
Периата Breatta

6

Похожий вопрос на stackoverflow: как автоматизировать загрузку и установку Java JDK в 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"

Последний аргумент - это URL для загрузки. Различные архивы версий Java отличаются не только версией, но и расширением.


2
Больше не работает.
Роджер Даль

да, это не работает, продолжает перенаправлять меня на login.oracle.com
Александр Миллс

6

Совет от mkyong.com : вы можете wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]загружать файлы без необходимости извлекать файлы cookie из своего браузера.


Это явно лучше, чем другие ответы, пока это работает. На момент написания статьи это все еще так.
Людовик Куты

1

В дополнение к ответу izx есть плагин chrome, который вы можете использовать для экспорта своих файлов cookie, поэтому вам не нужно использовать sqlite.


Ответ @ izx отличный. Но я предпочитаю, чтобы pushy предложил использовать «Cookie.txt export» для получения содержимого cookie (соответствует шагу 2 ответа izx), а не с помощью sqlite3.
mdahlman

0

Быстрый способ без файлов cookie:

  • Начните загрузку в вашем браузере
  • Приостановить загрузку
  • Скопируйте URL, используемый для загрузки
  • Используйте URL с wget: wget --no-check-certificate URL_FOR_DOWNLOAD

URL, вероятно, действителен только в течение ограниченного периода времени (часто 30 минут).


0

На самом деле, просто получите содержимое, заданное расширением chrome, упомянутое pushy, в файле на вашем Linux. Затем скопируйте адрес dl со страницы oracle и добавьте его в свою команду wget. Например, для dl Oracle Database 11g Release 2 (11.2.0.1.0):

vagrant@vagrant-ubuntu-trusty-64:~/download$ wget -x --load-cookies cookies.txt http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.