2016-07-26 68 views
3

要使用特定示例,我想下載Hadoop 2.7.2的二進制版本。 web site指向http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz,然後按位置指向最近的鏡像。對我來說那是http://xenia.sote.hu/ftp/mirrors/www.apache.org/hadoop/core/hadoop-2.7.2/hadoop-2.7.2.tar.gz使用wget從右邊的Apache Mirror下載文件

我想實際下載一個shell腳本(Dockerfile是特定的)。我更願意使用位置不可知的URL進行下載,這樣如果有人在世界的另一端運行腳本,他們將不會使用相同的鏡像。

是否有我可以使用的URL與wgetcurl動態重定向到最近的鏡像?該特定文件的URL是什麼?

+1

也許相關:http://stackoverflow.com/q/21534797 – Hasturkun

+0

啊,謝謝!這甚至可以作爲重複關閉。 –

+1

[以編程方式查找最接近的Apache Software Foundation鏡像]可能的重複(http://stackoverflow.com/questions/21534797/finding-the-closest-apache-software-foundation-mirror-programatically) – Hasturkun

回答

4

source code of closer.lua實際上指出,actionfilename查詢參數可用於生成重定向到自動選擇的鏡像上的請求文件,而不是通常的HTML鏡像選擇頁面。

所以,你可以通過這個網址直接下載文件: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

訣竅是使用引用用wget標記url:'wget --trust-server-names「https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=hadoop/common/hadoop-2.7.2/hadoop -2.7.2.tar.gz「' – asmaier