Не удается загрузить пакет Oracle jdk-8u181 с помощью wget за HTTP-прокси
(Это копия моего вопроса о переполнении стека . Я понял, что лучше всего задать этот вопрос суперпользователю.)
Я пытаюсь использовать команду WebUpd8 oracle-java8-installer
для установки Java 8 на мои компьютеры с Ubuntu 14.04. Некоторые из них могли преуспеть, но другие потерпели неудачу. После некоторой отладки я понял, что это вызвано настройкой HTTP-прокси . Я приведу более подробную информацию ниже, но в основном мои вопросы таковы: почему использование http_proxy
вызывает проблему? Я считаю, что это должно быть связано с тем, как работает HTTP-прокси, но, поскольку у меня мало опыта в этом, кто-то может сказать мне, какие знания я должен изучить, чтобы понять эту проблему?
Вот больше подробностей.
Под капотом oracle-java8-installer
используется wget
для загрузки пакета jdk-8u181. Таким образом, я могу воспроизвести проблему с шагами ниже:
- Установить
apt-cacher-ng
:sudo apt-get install apt-cacher-ng
- Вам не нужно ничего настраивать в конфигурации APT, чтобы воспроизвести эту проблему.
apt-cacher-ng
используетlocalhost:3142
по умолчанию для кэширования пакетов. - Бежать
http_proxy="http://localhost:3142" wget --continue --no-check-certificate -O jdk-8u181-linux-x64.tar.gz --header "Cookie: oraclelicense=a" http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
Вот некоторые заметки:
- Это
http://localhost:3142
настроено дляapt-cacher-ng
. Те машины, которые потерпели неудачу, былиapt-cacher-ng
установлены до того, как я попытался установить jdk-8u181. - Это
Cookie: oraclelicense=a
означает, что пользователь принял лицензию.
Если вы запустите последнюю команду, загрузка jdk-8u181-linux-x64.tar.gz
будет немедленно завершена. Есть строка с надписью «Запрос прокси отправлен, ожидание ответа ... 200 OK». Но если вы откроете полученный «.tar.gz», вы увидите, что это просто HTML-страница с информацией об ошибках.
Если вы удалите http_proxy
переменную среды и запустите:
wget --continue --no-check-certificate -O jdk-8u181-linux-x64.tar.gz --header "Cookie: oraclelicense=a" http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
У вас будет полный пакет загружен правильно.
Мое лучшее предположение заключается в том, что HTTP-прокси работает, wget
если целевой URL является окончательным, поэтому прокси-сервер будет кешировать его в своем хранилище. Концептуально это похоже на хранилище ключей:
proxy['URL'] = result
Однако в этом случае целевой URL ( http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz ) фактически возвращает " 302 "код и поле заголовка" Местоположение "для нового URL. Это видно из вывода:
ywen @ ubuntu: ~ $ wget --продолжить --no-check-certificate -O jdk-8u181-linux-x64.tar.gz --header "Cookie: oraclelicense = a" http://download.oracle.com/ otn-pub / java / jdk / 8u181-b13 / 96a7b8442fe848ef90c96a2fad6ed6d1 / jdk-8u181-linux-x64.tar.gz --2018-08-01 11: 10: 04-- http://download.oracle.com/otn -pub / Java / JDK / 8u181-B13 / 96a7b8442fe848ef90c96a2fad6ed6d1 / JDK-8u181-Linux-x64.tar.gz
Разрешение download.oracle.com (download.oracle.com) ... 23.32.72.143
Подключение к download.oracle.com (download.oracle.com) | 23.32.72.143 |: 80 ... подключено.
HTTP-запрос отправлен, ожидание ответа ... 302 Временно перемещено
Расположение: https://edelivery.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz [следующий]
--2018-08-01 11: 10: 04-- https://edelivery.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
Разрешение edelivery.oracle.com (edelivery.oracle.com) ... 23.216.148.161, 2001: 559: 19: 3081 :: 2d3e, 2001: 559: 19: 3086 :: 2d3e
Подключение к edelivery.oracle.com (edelivery.oracle.com) | 23.216.148.161 |: 443 ... подключено.
HTTP-запрос отправлен, ожидание ответа ... 302 Временно перемещено
Расположение: http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz?AuthParam=1533136324_72efc4e6208a5a7fc1cbba0527c741b6 [следующие]
--2018-08-01 11: 10: 04-- http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz? AuthParam = 1533136324_72efc4e6208a5a7fc1cbba0527c741b6
Подключение к download.oracle.com (download.oracle.com) | 23.32.72.143 |: 80 ... подключено.
HTTP-запрос отправлен, ожидание ответа ... 200 OK
Длина: 185646832 (177M) [приложение / x-gzip]
Сохранение в: 'jdk-8u181-linux-x64.tar.gz'
Обработка перенаправления выходит за рамки возможностей прокси-сервера (я прав ??), поэтому на тех компьютерах, на которых установлены HTTP-прокси, произошел сбой.
0 ответов на вопрос
Похожие вопросы
-
3
IE на Windows 7 не сохраняет файлы на диск
-
3
Завершение работы компьютера после завершения загрузки / выгрузки
-
4
Где скачать много цифр пи?
-
-
4
Настройка модема для загрузки Bittorrent
-
2
Удалить Java на Mac OS X?
-
3
Firefox: Почему это медленно, если у меня есть активные загрузки?
-
1
Как мне обновить мой jdk update 12 до jdk update <latest> без необходимости загружать целую кучу jdk...
-
2
Звоните, но не загружайте страницу с помощью wget
-
3
jEdit медленно в Linux
-
17
Как скачать URL в виде файла?