【发布时间】:2015-05-13 17:12:39
【问题描述】:
试图让try 在循环中运行,因为我正在引导一台包含网络服务器的机器,我想让它运行,而不仅仅是直接转到except 并停止脚本。我已经为 http-status 代码做了一段时间,但这只有在机器启动时才有效。
所以我的问题是我怎样才能让try 循环大约 5 分钟,然后再转到except?对不起,我的解释很糟糕。
try:
r = requests.head("http://www.testing.co.uk")
while r.status_code != 200:
print "Response not == to 200."
time.sleep(30)
r = requests.head("http://www.testing.co.uk")
else:
print "Response is 200 - OK"
except requests.ConnectionError:
print "NOT FOUND - ERROR"
【问题讨论】:
-
如果你睡了 30 秒,你想继续尝试 5 分钟,你就必须循环 10 次,对吧?
-
如果连接被拒绝,你会得到一个异常。你的意思是你想在完全放弃之前继续循环 5 分钟?
-
正确,因为如果网络服务器关闭,它会直接进入异常。所以我想让它循环 5 分钟,直到它出现异常。 @MartijnPieters
-
检查http代码的循环不是问题,而是异常,因为它直接进入异常并在网络服务器未启动时停止。我想让它在停止之前循环 5 分钟。 @alfasin
-
@MartijnPieters 当然,谢谢。
标签: python python-2.7 loops while-loop python-requests