web-dev-qa-db-ja.com

Python Requestsでステータスコードの説明を取得する

サーバーの応答コードを入力して、リクエストにコードの意味を教えてもらいたいのですが。たとえば、コード200-> ok

コードの辞書構造と説明を示す source code へのリンクを見つけました。リクエストが指定された説明に対して応答コードを返すことがわかります。

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 でこれに対する答えを見つけることができないようです。

29
Roberto

1つの可能性:

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

タプルの最初の値は、従来のコードキーとして使用されます。

21
shux

または、Python 2.xの場合、 httplib.responses

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

Python 3.x、use http module

In [1]: from http.client import responses

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

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

requests.status_codes.codes.OK

うまく動作し、アプリケーションコードで読みやすくなります

ソースコード の場合、requests.status_codes.codesのタイプは LookupDict であり、メソッドgetitem

-dir(requests.status_codes.codes)でサポートされているすべてのキーを確認できます

FLASKと組み合わせて使用​​する場合:

flask-apiプラグインの列挙型を使用するのが好きですfrom flask_api import status HTTPステータスコードのより記述的なバージョンをここで取得します-

status.HTTP_200_OK

0
ofbyone