簡體   English   中英

Bash curl HTTP狀態代碼作為變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM