Curl 从命令行仅返回 http 状态代码

Curl 从命令行仅返回 http 状态代码

我有下面的curl,它从文件中读取数据并将其发布到服务器,一切正常。我也成功收到回复。

curl -v 'url' -H '接受编码:gzip、deflate、br' -H '内容类型:application/json' -H '接受:application/json' -H '连接:keep-alive' -H 'DNT:1' -H '来源:url' --data-binary“@/Users/david/Downloads/temp.txt”--压缩

现在我只是想从上面的curl 请求获取状态代码而不是完整响应。我尝试像下面那样做,但它不起作用。

curl -v 'url' -H '接受编码:gzip、deflate、br' -H '内容类型:application/json' -H '接受:application/json' -H '连接:保持活动' -H 'DNT:1' -H '来源:url' --data-binary“@/Users/david/Downloads/temp.txt”--压缩|头 -n 1 |切-d$''-f2

我的上述命令有什么错误吗?

答案1

删除-v并添加--silent,丢弃标准输出--output /dev/null 并打印 http 状态--write-out '%{http_code}'(简而言之-s -o /dev/null -w '%{http_code}'):

curl 'url' \
  -H 'Accept-Encoding: gzip, deflate, br' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Connection: keep-alive' \
  -H 'DNT: 1' \
  -H 'Origin: url' \
  --data-binary "@/Users/david/Downloads/temp.txt" \
  --compressed \
  --silent \
  --output /dev/null \
  --write-out '%{http_code}'

相关内容