我正在尝试执行一些基准测试并在Request上遇到一些问题。问题是如果响应时间很长,它会抛出一些错误。如果else
等待的时间超过2秒,如何让它返回request.get
。
time = requests.get('http://www.google.com').elapsed.total_seconds()
if time < 1:
print "Low response time"
else:
print "High reponse time"
答案 0 :(得分:1)
使用requests.get
的超时参数。如果请求花费的时间超过超时值,requests.get
将引发requests.exceptions.Timeout
异常。
try:
resp = requests.get('http://www.google.com', timeout=1.0)
except requests.exceptions.Timeout as e:
print "High reponse time"
else:
print "Low response time"
答案 1 :(得分:0)
我不知道有什么错误被调用(你的意思是这里的例外吗?)。如果它抛出异常,那么你可以把它放在try / except:
中try:
time = requests.get('http://www.google.com').elapsed.total_seconds()
if time < 1:
print "Low response time"
else:
print "High response time"
except:
# threw an exception
print "High response time"
如果你知道抛出的异常类型,那么我会设置除了捕获该异常而没有其他异常。