[英]Bash curl HTTP status code as variable
我打個電話:
curl --silent --connect-timeout 8 --output /dev/null http://0.0.0.0:5000/twi?c0=24 -I -w "%{http_code}\n" ``
它工作正常,如果成功返回200。 我想要變量中的狀態碼並嘗試:
curl --silent --connect-timeout 5 --output /dev/null http://0.0.0.0:5000/twi?c0=24
接着:
curl_status=$?
echo $curl_status
該調用工作良好,但給出的$ curl_status為0。
我試過了:
curl_status=$(curl --silent --connect-timeout 5 --output /dev/null http://0.0.0.0:5000/twi?c0=24)
echo $curl_status
結果相同:調用被執行,但$ 0作為$ url_status。
為什么我不將第一次調用的http_code放入要在if語句中使用的變量中? 我在這里閱讀了許多文章,但沒有成功的解決方案。
嘗試
curl_status=`curl --silent --connect-timeout 8 --output /dev/null http://0.0.0.0:5000/twi?c0=24 -I -w "%{http_code}\n"`
如果要遵循重定向,請使用-L
借助Biffen的鏈接和https://coderwall.com/p/taqiyg/use-http-status-codes-from-curl的示例,我來到了
curl_status=$(curl -s -o /dev/null -w '%{http_code}' --connect-timeout 3 http://0.0.0.0:5000/twi?c0=24+91+24+91+24+91+24+91)``
謝謝您的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.