我打了个电话:
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
此调用效果很好,但$ 0表示$ curl_status。
我尝试过:
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语句中使用? 我在这里阅读了许多文章,但没有成功的解决方案。
答案 0 :(得分:0)
尝试
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
答案 1 :(得分:0)
借助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)``
感谢您的帮助。