Curl
如何以不同的方式管道捲曲答案的正文和列印輸出?
我想在命令行中列印一些 curl 的輸出,例如 http 標頭,然後是由 stdin/stdout 程序處理的答案正文。例如:
列印狀態碼:
curl -s -w "%{http_code} \\n" -o "/dev/null" http://myURL.com
然後使用 json 解析工具處理輸出:
curl -s http://myURL.com | python -mjson.tool
我想用一個命令來做這兩件事,我覺得這可能要歸功於 -o 選項,它在 curl 的輸出和查詢的實際答案之間產生了差異。問題是 -o 直接寫入文件。有人有黑客嗎?
您可以使用 bash 的程序替換
>(cmd)
。例如:curl -s -w "%{http_code}\n" -o >(ruby -ne 'printf("-%6s%s", $., $_)') http://www.example.com/
可能適合您需要的另一種可能性是
curl -v
,它將標頭髮送到 stderr,將正文發送到 stdout。例如,curl -v http://www.example.com/ | ruby -ne 'printf("-%6s%s", $., $_)'