在 Python Requests 中获取状态码的描述

新手上路,请多包涵

我希望能够输入服务器响应代码并让 Requests 告诉我该代码的含义。例如,代码 200 –> ok

我找到了一个指向 源代码 的链接,它显示了代码和描述的字典结构。我看到请求将返回给定描述的响应代码:

 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 []

我认为这将是一项例行任务,但似乎无法在网上搜索或 文档 中找到答案。

原文由 Roberto 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 387
2 个回答

一种可能性:

 >>> import requests
>>> requests.status_codes._codes[200]
('ok', 'okay', 'all_ok', 'all_okay', 'all_good', '\\o/', '\xe2\x9c\x93')

元组中的第一个值用作常规代码键。

原文由 shux 发布,翻译遵循 CC BY-SA 3.0 许可协议

或者,对于 Python 2.x,您可以使用 httplib.responses

 >>> import httplib
>>> httplib.responses[200]
'OK'
>>> httplib.responses[404]
'Not Found'

在 Python 3.x 中,使用 http 模块

 In [1]: from http.client import responses

In [2]: responses[200]
Out[2]: 'OK'

In [3]: responses[404]
Out[3]: 'Not Found'

原文由 alecxe 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题