2016-07-26 8 views
3

Um ein bestimmtes Beispiel zu verwenden, möchte ich die binäre Version von Hadoop 2.7.2 herunterladen. Die web site zeigt auf http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz, die dann nach Ort auf den nächstgelegenen Spiegel zeigt. Für mich ist das http://xenia.sote.hu/ftp/mirrors/www.apache.org/hadoop/core/hadoop-2.7.2/hadoop-2.7.2.tar.gz.Herunterladen der Datei von der rechten Apache Mirror mit wget

Ich möchte dies tatsächlich in einem Shell-Skript herunterladen (eine Dockerfile um genau zu sein). Ich würde lieber eine standortunabhängige URL für den Download verwenden, damit jemand, der das Skript am anderen Ende der Welt ausführt, nicht denselben Spiegel verwendet.

Gibt es eine URL, die ich mit wget oder curl verwenden könnte, die dynamisch zum nächsten Spiegelbild umleitet? Was wäre diese URL für diese spezifische Datei?

+1

Wahrscheinlich relevant: http://stackoverflow.com/q/21534797 – Hasturkun

+0

Ah, danke! Dies könnte sogar als Duplikat geschlossen werden. –

+1

Mögliches Duplikat von [Apache Software Foundation-Spiegel programmatisch suchen] (http://stackoverflow.com/questions/21534797/finding-the-closes-apache-software-foundation-mirror-programatically) – Hasturkun

Antwort

4

Die source code of closer.lua besagt tatsächlich, dass die action und filename Abfrageparameter verwendet werden können, um eine Umleitung zu der angeforderten Datei auf dem automatisch ausgewählten Spiegel statt der üblichen HTML-Spiegelauswahlseite zu erzeugen.

So können Sie die Dateien herunterladen direkt über diese URL: https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz:

GET /dyn/mirrors/mirrors.cgi?action=download&filename=hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz HTTP/1.1 
Accept: */* 
Accept-Encoding: gzip, deflate 
Connection: keep-alive 
Host: www.apache.org 



HTTP/1.1 302 Found 
Cache-Control: max-age=3600 
Connection: Keep-Alive 
Content-Length: 0 
Date: Mon, 13 Mar 2017 18:08:00 GMT 
Expires: Mon, 13 Mar 2017 19:08:00 GMT 
Keep-Alive: timeout=30, max=100 
Location: http://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.apache.org/dist/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz 
Server: Apache/2.4.7 (Ubuntu) 
+1

Der Trick ist Zitat zu verwenden Marken um die URL mit wget: 'wget --trust-Server-Namen" https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=hadoop/common/hadoop-2.7.2/hadoop -2.7.2.tar.gz "' – asmaier

Verwandte Themen