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

10

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

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

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

Спасибо

tomtomnz
источник
Для будущих искателей, проверьте это: 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 из своего браузера.

Периата Breatta
источник
Это явно лучше, чем другие ответы, пока это работает. На момент написания статьи это все еще так.
Людовик Куты
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 минут).

user104502
источник
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

Николас Мас
источник