2014-12-13 54 views
8

我想用curl下載文件,但它不起作用!Curl命令不會下載該文件(linux mint)

curl -O https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o 

這是我在很多官方網站上看到的例子。他們說上面的命令下載文件hello.o。它不!它只是下載某種輸出並將其存儲在具有相同名稱的文件中。

如果我運行上面的命令,我打印hello.o的內容,它說:

<html><body>You are being <a href="https://raw.githubusercontent.com/systems-cs-pub-ro/uso/master/tema1/help/hello.o">redirected</a>.</body></html> 

hello.o的尺寸爲147個字節。

另外,如果我鍵入

wget https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o 

它下載文件hello.o它到底怎麼樣了!現在,它的尺寸是1,2 K

有沒有辦法使用curl下載文件hello.o,究竟我該如何使用wget下載?

謝謝你的尊敬。

回答

13

,捲曲,你需要使用-L標誌是這樣的:

捲曲-L https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o> hello.o

從捲曲的手冊頁:

-L - 位置 (HTTP/HTTPS)如果服務器報告所請求的頁面已移至其他位置(用位置:標題和3XX響應代碼表示),則此選項將使curl在新位置重做請求。如果與-i,--include或-I,--head一起使用,則會顯示所有請求頁面的標題。使用身份驗證時,curl僅將其憑據發送給初始主機。如果重定向需要curl到不同的主機,它將無法攔截用戶名+密碼。有關如何更改此信息,請參閱--location-trusted。您可以使用--max-redirs選項來限制重定向的數量。 curl跟隨重定向並且請求不是普通的GET(例如POST或PUT)時,如果HTTP響應是301,302或303,它將使用GET執行以下請求。如果響應代碼是其他任何3xx 代碼,curl將使用相同的未經修改的方法重新發送以下請求。

請注意,你的問題已經在這裏找到答案: How do I download a tarball from GitHub using cURL?

+1

謝謝尊敬。 – 2014-12-13 12:54:54

+0

不客氣。如果這回答你的問題,請選擇它作爲接受的答案。謝謝。 – 2014-12-13 13:00:08

+0

改進答案:你可以'curl -I http:// releases.wikimedia.org/mediawiki/1.24/mediawiki-1.24.1.tar.gz'。使用'-I'選項會給你一些關於你的請求的細節,比如返回的HTTP CODE(301)。然後,您將確定爲您正在請求的內容配置了重定向。問候並感謝您的答案:)。 – ivanleoncz 2017-06-20 19:03:03