網(wǎng)絡(luò)用戶有時(shí)候會(huì)遇到需要下載一批文件的情況,有時(shí)甚至需要把整個(gè)網(wǎng)站下載下來(lái)或者制作網(wǎng)站的鏡像。在Windows下的用戶都比較熟悉Teleport,webzip等等網(wǎng)站下載工具,實(shí)際上AIX中也完全可以做到這樣的功能,那就是利用wget工具。wget是一個(gè)命令行工具,用來(lái)下載網(wǎng)絡(luò)文件或者整個(gè)網(wǎng)站,它具有自動(dòng)重試、斷點(diǎn)續(xù)傳、支持代理服務(wù)器等等強(qiáng)大的功能。它可以完全替代ftp客戶端。wget是在Linux下開(kāi)發(fā)的開(kāi)放源代碼的軟件,作者是Hrvoje Niksic,后來(lái)被移植到包括Windows在內(nèi)的各個(gè)平臺(tái)上。IBM在AIX Linux Toolbox中也提供了這個(gè)工具,使得它可以在AIX下運(yùn)行。您可以在IBM網(wǎng)站http://www-1.ibm.com/servers/aix/products/aixos/linux/altlic.html下載到它。IBM提供的wget是1.8.1版本,rpm包格式的。
wget雖然功能強(qiáng)大,但是使用起來(lái)還是比較簡(jiǎn)單的,基本的語(yǔ)法是:wget [參數(shù)列表] URL。下面就結(jié)合具體的例子來(lái)說(shuō)明一下wget的用法。
1、下載整個(gè)http或者ftp站點(diǎn)。
wget http://place.your.url/here
這個(gè)命令可以將http://place.your.url/here 首頁(yè)下載下來(lái)。使用-x會(huì)強(qiáng)制建立服務(wù)器上一模一樣的目錄,如果使用-nd參數(shù),那么服務(wù)器上下載的所有內(nèi)容都會(huì)加到本地當(dāng)前目錄。
wget -r http://place.your.url/here
這個(gè)命令會(huì)按照遞歸的方法,下載服務(wù)器上所有的目錄和文件,實(shí)質(zhì)就是下載整個(gè)網(wǎng)站。這個(gè)命令一定要小心使用,因?yàn)樵谙螺d的時(shí)候,被下載網(wǎng)站指向的所有地址同樣會(huì)被下載,因此,如果這個(gè)網(wǎng)站引用了其他網(wǎng)站,那么被引用的網(wǎng)站也會(huì)被下載下來(lái)!基于這個(gè)原因,這個(gè)參數(shù)不常用??梢杂?l number參數(shù)來(lái)指定下載的層次。例如只下載兩層,那么使用-l 2。
要是您想制作鏡像站點(diǎn),那么可以使用-m參數(shù),例如:
wget -m http://place.your.url/here
這時(shí)wget會(huì)自動(dòng)判斷合適的參數(shù)來(lái)制作鏡像站點(diǎn)。此時(shí),wget會(huì)登錄到服務(wù)器上,讀入robots.txt并按robots.txt的規(guī)定來(lái)執(zhí)行。
2、斷點(diǎn)續(xù)傳。
當(dāng)文件特別大或者網(wǎng)絡(luò)特別慢的時(shí)候,往往一個(gè)文件還沒(méi)有下載完,連接就已經(jīng)被切斷,此時(shí)就需要斷點(diǎn)續(xù)傳。wget的斷點(diǎn)續(xù)傳是自動(dòng)的,只需要使用-c參數(shù),例如:
wget -c http://the.url.of/incomplete/file
使用斷點(diǎn)續(xù)傳要求服務(wù)器支持?jǐn)帱c(diǎn)續(xù)傳。-t參數(shù)表示重試次數(shù),例如需要重試100次,那么就寫(xiě)-t 100,如果設(shè)成-t 0,那么表示無(wú)窮次重試,直到連接成功。-T參數(shù)表示超時(shí)等待時(shí)間,例如-T 120,表示等待120秒連接不上就算超時(shí)。
3、批量下載。
如果有多個(gè)文件需要下載,那么可以生成一個(gè)文件,把每個(gè)文件的URL寫(xiě)一行,例如生成文件download.txt,
然后用命令:
wget -i download.txt
這樣就會(huì)把download.txt里面列出的每個(gè)URL都下載下來(lái)。(如果列的是文件就下載文件,如果列的是網(wǎng)站,那么下載首頁(yè))
4、選擇性的下載。
可以指定讓wget只下載一類文件,或者不下載什么文件。例如:
wget -m --reject=gif http://target.web.site/subdirectory
表示下載http://target.web.site/subdirectory,但是忽略gif文件。--accept=LIST 可以接受的文件類型,--reject=LIST拒絕接受的文件類型。
5、密碼和認(rèn)證。
wget只能處理利用用戶名/密碼方式限制訪問(wèn)的網(wǎng)站,可以利用兩個(gè)參數(shù):
--http-user=USER設(shè)置HTTP用戶
--http-passwd=PASS設(shè)置HTTP密碼
對(duì)于需要證書(shū)做認(rèn)證的網(wǎng)站,就只能利用其他下載工具了,例如curl。
6、利用代理服務(wù)器進(jìn)行下載。
如果用戶的網(wǎng)絡(luò)需要經(jīng)過(guò)代理服務(wù)器,那么可以讓wget通過(guò)代理服務(wù)器進(jìn)行文件的下載。此時(shí)需要在當(dāng)前用戶的目錄下創(chuàng)建一個(gè).wgetrc文件。文件中可以設(shè)置代理服務(wù)器:
http-proxy = 111.111.111.111:8080
ftp-proxy = 111.111.111.111:8080
分別表示http的代理服務(wù)器和ftp的代理服務(wù)器。如果代理服務(wù)器需要密碼則使用:
--proxy-user=USER設(shè)置代理用戶
--proxy-passwd=PASS設(shè)置代理密碼
這兩個(gè)參數(shù)。
使用參數(shù)--proxy=on/off 使用或者關(guān)閉代理。
wget還有很多有用的功能,需要用戶去挖掘。
備注:wget是免費(fèi)軟件,IBM公司不對(duì)wget提供軟件維護(hù)和技術(shù)支持。