2014-01-20 64 views
4

是否有可能將cURL的輸出指向文件?cURL輸出到文件

% Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
100 1354 100 1354 0  0 17358  0 --:--:-- --:--:-- --:--:-- 17358 
100 67081 100 67081 0  0 68171  0 --:--:-- --:--:-- --:--:-- 4031k 

我無法找到任何--help將指示即可。 -o剛剛做了我能說的反應。

我只是想知道請求是否成功並花了多長時間。

回答

12

該輸出發送到stderr。因此,要獲得這一切你需要的是重定向數據流2(錯誤)的文件

curl -o responseFile.html http://www.somewhere.com 2> informationFile.txt 

但是,正如你的截圖顯示了,時間也並不總是包含。

知道請求是否成功並花費多少時間的更好選項是要求curl輸出一些內部變量。這是通過-w開關完成的。所以,你的命令應該爲

curl -o responseFile.html http://www.somewhere.com -w "%{response_code};%{time_total}" > dataFile.txt 2> informationFile.txt 

這樣一來,反應會去responseFile.html(或任何你需要),進度信息(錯誤或流2)將前往informationFile.txt和所需請求響應代碼和時間信息會去dataFile.txt

+0

我無法獲得響應代碼來解決,我只是獲取變量名稱。你確定上面的語法是正確的嗎?我已經看過Curl的幫助,但在DOS細節方面還不是很清楚。有關信息,我將捲曲調用包裝在批處理文件中,這可能與它有關。 –

+0

啊,明白了,在一個批處理文件中,你需要雙重百分比即-w「%% {response_code}」。 –

4

這是你所需要的:

curl -o gettext.html http://www.gnu.org/software/gettext/manual/gettext.html 2> details.txt 

以上將網址保存到gettext.html和捲曲細節details.txt