【发布时间】:2017-02-21 23:17:26
【问题描述】:
向服务器发出请求,如下面的代码所示,我得到了状态码 500,它没有被捕获为异常。输出为“500”,但我需要所有 500 个代码才能生成 sys.exit()。 requests.exceptions.RequestException 不将 500 视为异常还是其他原因?请求模块文档http://docs.python-requests.org/en/latest/user/quickstart/#errors-and-exceptions 对属于此类的内容不是很清楚。如何确保所有 500 个代码都导致 sys.exit()?
import requests
import json
import sys
url = http://www.XXXXXXXX.com
headers = {'user':'me'}
try:
r = requests.post(url, headers=headers)
status = r.status_code
response = json.dumps(r.json(), sort_keys=True, separators=(',', ': '))
print status
except requests.exceptions.RequestException as e:
print "- ERROR - Web service exception, msg = {}".format(e)
if r.status_code < 500:
print r.status_code
else:
sys.exit(-1)
【问题讨论】:
-
这是在
for循环中吗?continue在for块之外是语法错误,你想要pass吗? -
正确,我编辑了问题 - 谢谢!
标签: python http error-handling python-requests