Das Oracle-Paket jdk-8u181 kann nicht mithilfe von wget hinter einem HTTP-Proxy-Server heruntergeladen werden
(Dies ist eine Kopie meiner Frage zu Stack Overflow . Ich habe erkannt, dass Superuser der bessere Ort sein könnte, um diese Frage zu stellen.)
Ich versuche, das WebUpd8-Team zu verwenden oracle-java8-installer
, um Java 8 auf meinen Ubuntu 14.04-Computern zu installieren. Einige konnten Erfolg haben, andere scheiterten jedoch. Nach einigem Debugging wurde mir klar, dass dies durch die HTTP-Proxy-Einstellung verursacht wurde . Ich werde im Folgenden weitere Details angeben, aber im Grunde sind meine Fragen: Warum verursacht die Verwendung des http_proxy
Problems das Problem? Ich glaube, es muss sich auf die Funktionsweise eines HTTP-Proxys beziehen, aber da ich wenig Erfahrung damit habe, könnte mir jemand sagen, welches Wissen ich lernen sollte, um dieses Problem zu verstehen?
Hier sind weitere Details.
Unter der Haube sind die oracle-java8-installer
Anwendungen wget
auf das JDK-8u181 Paket herunterladen. So kann ich das Problem mit den folgenden Schritten reproduzieren :
- Installiere
apt-cacher-ng
:sudo apt-get install apt-cacher-ng
- Sie müssen in der APT-Konfiguration nichts konfigurieren, um dieses Problem zu reproduzieren.
apt-cacher-ng
verwendetlocalhost:3142
standardmäßig zum Zwischenspeichern der Pakete. - Lauf
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
Hier einige Anmerkungen:
- Das
http://localhost:3142
ist für konfiguriertapt-cacher-ng
. Die Maschinen, die fehlgeschlagen waren, wurdenapt-cacher-ng
installiert, bevor ich versuchte, jdk-8u181 zu installieren. - Das
Cookie: oraclelicense=a
ist, um anzuzeigen, der Benutzer die Lizenz akzeptiert hat.
Wenn Sie den letzten Befehl ausführen, ist der Download des Befehls jdk-8u181-linux-x64.tar.gz
sofort beendet. Es gibt eine Zeile mit der Meldung "Proxy-Anfrage wurde gesendet, wartet auf Antwort ... 200 OK". Wenn Sie jedoch die empfangene ".tar.gz" öffnen, wird nur eine HTML-Seite angezeigt, die Fehlerinformationen enthält.
Wenn Sie die http_proxy
Umgebungsvariable entfernen und ausführen:
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
Sie werden das vollständige Paket korrekt heruntergeladen haben.
Meine beste Vermutung ist, dass ein HTTP-Proxy verwendet wird, wget
wenn die Ziel-URL die endgültige URL ist. Der Proxy würde ihn also in seinem Speicher zwischenspeichern. Konzeptionell ist es wie ein Schlüsselwertspeicher:
proxy['URL'] = result
In diesem Fall gibt die Ziel-URL ( http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz ) tatsächlich einen " 302 "Code und ein Headerfeld" Location "für die neue URL. Dies ist aus der Ausgabe ersichtlich:
ywen @ ubuntu: ~ $ 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 --2018-08-01 11: 10: 04-- http://download.oracle.com/otn -pub / java / jdk / 8u181-b13 / 96a7b8442fe848ef90c96a2fad6ed6d1 / jdk-8u181-linux-x64.tar.gz
Auflösen von download.oracle.com (download.oracle.com) ... 23.32.72.143
Verbindung zu download.oracle.com (download.oracle.com) | 23.32.72.143 |: 80 ... hergestellt.
HTTP-Anfrage gesendet, wartet auf Antwort ... 302 Temporär verschoben
Ort: https://edelivery.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz [folgend]
--2018-08-01 11: 10: 04-- https://edelivery.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
Lösung edelivery.oracle.com (edelivery.oracle.com) ... 23.216.148.161, 2001: 559: 19: 3081 :: 2d3e, 2001: 559: 19: 3086 :: 2d3e
Verbindung zu edelivery.oracle.com (edelivery.oracle.com) | 23.216.148.161 |: 443 ... hergestellt.
HTTP-Anfrage gesendet, wartet auf Antwort ... 302 Temporär verschoben
--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
Verbindung zu download.oracle.com (download.oracle.com) | 23.32.72.143 |: 80 ... hergestellt.
HTTP-Anfrage gesendet, wartet auf Antwort ... 200 OK
Länge: 185646832 (177M) [Anwendung / x-gzip]
Speichern unter: 'jdk-8u181-linux-x64.tar.gz'
Die Verarbeitung der Umleitung liegt außerhalb der Möglichkeiten eines Proxys (Am I right ??), daher sind die mit den HTTP-Proxys gesetzten Maschinen ausgefallen.
0 Antworten auf die Frage
Verwandte Probleme
-
3
IE unter Windows 7 speichert keine Dateien auf der Festplatte
-
3
Computer herunterfahren, wenn der Download / Upload beendet ist
-
4
Wo kann ich viele Ziffern von Pi herunterladen?
-
4
Konfigurieren Sie das Modem für Bittorrent-Downloads
-
2
Java unter Mac OS X deinstallieren?
-
3
Firefox: Warum ist es langsam, wenn ich einige aktive Downloads habe?
-
1
Wie aktualisiere ich mein jdk-Update 12 auf jdk-Update? <latest> ohne die ganze 100-MB-Jdk-Gruppe he...
-
2
Anrufen, aber keine Seite mit wget herunterladen
-
3
jEdit unter Linux langsam
-
17
Wie kann ich eine URL als Datei herunterladen?