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 '連接:keep-alive' -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}'

相關內容