我希望能够输入服务器响应代码并让请求告诉我代码的含义。例如,代码200->确定
我找到了source code的链接,其中显示了代码和说明的字典结构。我看到Requests将返回给定描述的响应代码:
print requests.codes.processing # returns 102
print requests.codes.ok # returns 200
print requests.codes.not_found # returns 404
但不是相反:
print requests.codes[200] # returns None
print requests.codes.viewkeys() # returns dict_keys([])
print requests.codes.keys() # returns []
我认为这是一项例行工作,但似乎无法在网上搜索或documentation中找到答案。
答案 0 :(得分:24)
或者,对于Python 2.x,您可以使用httplib.responses
:
>>> import httplib
>>> httplib.responses[200]
'OK'
>>> httplib.responses[404]
'Not Found'
在Python 3.x中,使用http
module:
In [1]: from http.client import responses
In [2]: responses[200]
Out[2]: 'OK'
In [3]: responses[404]
Out[3]: 'Not Found'
答案 1 :(得分:20)
一种可能性:
>>> import requests
>>> requests.status_codes._codes[200]
('ok', 'okay', 'all_ok', 'all_okay', 'all_good', '\\o/', '\xe2\x9c\x93')
元组中的第一个值用作传统的代码密钥。
答案 2 :(得分:2)
我之前也遇到过同样的问题,发现 回答in this question
基本上:
responsedata.status_code
- 给你整数状态码responsedata.reason
- 给出状态代码的文本/字符串表示答案 3 :(得分:0)
requests.status_codes.codes.OK
可以很好地工作,并使我的应用程序代码更具可读性
请注意,在source code中:requests.status_codes.codes的类型为LookupDict,它会覆盖方法 getitem
您可以使用 - dir(requests.status_codes.codes)
我喜欢使用来自flask-api插件的enum
from flask_api import status
我在其中获得了更多描述性的HTTP状态代码,如 -
status.HTTP_200_OK