我想在命令行中打印一些 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/
Run Code Online (Sandbox Code Playgroud)
可能适合您需要的另一种可能性是curl -v,它将标头发送到标准错误并将正文发送到标准输出。例如,
curl -v http://www.example.com/ | ruby -ne 'printf("-%6s%s", $., $_)'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3024 次 |
| 最近记录: |