我目前正在编写一个 bash 脚本,并且正在使用 curl。我想要做的是获取一个特定的响应 header 。
基本上我想让这个命令起作用:
curl -I -w "%{etag}" "server/some/resource"
不幸的是,似乎 -w, --write-out 选项只有一组它支持的变量,并且不能打印响应中的任何 header 。我需要自己解析 curl 输出以获取 ETag 值,还是有办法让 curl 打印特定 header 的值?
显然是这样的
curl -sSI "server/some/resource" | grep 'ETag:' | sed -r 's/.*"(.*)".*/\1/'
可以解决问题,但让 curl 过滤标题会更好。
最佳答案
为“-w”指定的变量不直接连接到 http header 。 所以看起来你必须自己“解析”它们:
curl -I "server/some/resource" | grep -Fi etag
关于linux - curl 特定 header 的 "write out"值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12511895/