是否可以将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
刚刚完成了我能说的回复。
我只是想知道请求是否成功以及需要多长时间。
答案 0 :(得分:14)
此输出发送到stderr。因此,要获得它所需要的只是将流2(stderr)重定向到文件
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(或任何你需要的),进度信息(stderr或流2)将转到informationFile.txt,所需的请求响应代码和时间信息将转到dataFile。 TXT
答案 1 :(得分:4)
这就是你需要的:
curl -o gettext.html http://www.gnu.org/software/gettext/manual/gettext.html 2> details.txt
以上内容会将网址保存到gettext.html
并将详细信息保存到details.txt
。