2010-10-20 65 views
3

如果此問題較早提出並且它是簡單的問題,我表示歉意。使用curl或wget命令行下載文件

我想從http網站下載文件到我的unix機器上,使用命令行。我使用用戶名和密碼登錄到此網站。

說我有這個鏈接(不工作的鏈接) http://www.abcd.org/portal/ABCPortal/private/DataDownload.action?downloadFile=&workspace.id=4180&datasetId=76999

說,如果我粘貼到瀏覽器的這個環節,我得到的是打開了,問我是否要保存zip文件的盒子,它鏈接到(說xyz.zip)。這些文件的大小約爲1GB。

我希望能夠使用命令行將該URL帶到我的unix機器上的zip文件。我試着用上面那種URL(提供用戶名和密碼)使用wget和curl。我得到的HTML表單,但不是zip文件。有沒有辦法讓我可以得到這種URL鏈接到的zip文件?我不知道文件所在機器上的目錄結構。

感謝您的幫助,

回答

5

我猜你沒有通過的Accept-Encoding頭。默認情況下,瀏覽器通過它,你的CLI工具你必須自己觸發這些選項

我不知道wget,但有一個curl嘗試(-v作爲詳細命令,所以你可以按照請求/響應頭):

捲曲-v 「http://www.abcd.org/portal/ABCPortal/private/DataDownload.action?downloadFile= & workspace.id = 4180 &集編號= 76999」 -H「的Accept-Encoding :壓縮程序」> /tmp/yourZippedFile.gz

如果上述情況並非如此,也許你給一個真實的站點例子,所以我們可以在一個具體的例子按照你的問題。沒有看到HTTP流量很難說。

+1

謝謝!我需要下載ZIP並將編碼更改爲「Accept-Encoding:zip」,並且工作完美。 – MikeSchinkel 2012-08-09 02:08:57

1

FYI窗戶捲曲,我必須添加的User-Agent:

捲曲-H 「接受編碼:gzip,緊縮」 -H「的User-Agent:Mozilla的/ 5.0(Windows NT的5.1 )」 www.google.com> test3.gz

因爲沒有用戶代理它不會給我一個gzip文件

捲曲-H 「接受編碼:gzip,緊縮」 www.google.com>測試