(Pythonの)httplibからレスポンスコードをひねり出してみた

レスポンスコードを表す定数を(pydocの)ドキュメントから調べきれなかったので、無理矢理ひねり出してみました。

pydocで調べられると思いますが、「pythonのトレーニングだ!」と考え見切り発車で書いてみました。本当にレスポンスコードなのか分かりませんが、100から599までならそれっぽいだろうと。

恥ずかしながら、未だにこの程度の理解です。

import httplib
 
http_response_code_list = {}
for name in dir(httplib):
    value = eval('httplib.'+name)
    if type(value) == type(1) and value in range(100, 599):
        http_response_code_list[value] = name
http_response_code_keys = http_response_code_list.keys()
http_response_code_keys.sort()
for key in http_response_code_keys:
    print '%03d: %s' % (key, http_response_code_list[key])
 
## ---- begin output ----
## 101: SWITCHING_PROTOCOLS
## 102: PROCESSING
## 200: OK
## 201: CREATED
## 202: ACCEPTED
## 203: NON_AUTHORITATIVE_INFORMATION
## 204: NO_CONTENT
## 205: RESET_CONTENT
## 206: PARTIAL_CONTENT
## 207: MULTI_STATUS
## 226: IM_USED
## 300: MULTIPLE_CHOICES
## 301: MOVED_PERMANENTLY
## 302: FOUND
## 303: SEE_OTHER
## 304: NOT_MODIFIED
## 305: USE_PROXY
## 307: TEMPORARY_REDIRECT
## 400: BAD_REQUEST
## 401: UNAUTHORIZED
## 402: PAYMENT_REQUIRED
## 403: FORBIDDEN
## 404: NOT_FOUND
## 405: METHOD_NOT_ALLOWED
## 406: NOT_ACCEPTABLE
## 407: PROXY_AUTHENTICATION_REQUIRED
## 408: REQUEST_TIMEOUT
## 409: CONFLICT
## 410: GONE
## 411: LENGTH_REQUIRED
## 412: PRECONDITION_FAILED
## 413: REQUEST_ENTITY_TOO_LARGE
## 414: REQUEST_URI_TOO_LONG
## 415: UNSUPPORTED_MEDIA_TYPE
## 416: REQUESTED_RANGE_NOT_SATISFIABLE
## 417: EXPECTATION_FAILED
## 422: UNPROCESSABLE_ENTITY
## 423: LOCKED
## 424: FAILED_DEPENDENCY
## 426: UPGRADE_REQUIRED
## 443: HTTPS_PORT
## 500: INTERNAL_SERVER_ERROR
## 501: NOT_IMPLEMENTED
## 502: BAD_GATEWAY
## 503: SERVICE_UNAVAILABLE
## 504: GATEWAY_TIMEOUT
## 505: HTTP_VERSION_NOT_SUPPORTED
## 507: INSUFFICIENT_STORAGE
## 510: NOT_EXTENDED
## ---- end output ----
 

。。。あれ、レスポンスコードの説明句(?)を大文字にしてスペースをアンダースコアで置換したら良かっただけですか?(pydocが)英語だったから見逃してた?

プロフィール

このブログ記事について

このページは、koshigoeが2007年3月 7日 23:08に書いたブログ記事です。

ひとつ前のブログ記事は「FeedburnerはRefererあるとHTMLを返すんですね」です。

次のブログ記事は「(python)タプルのリストからタプルの0番目をキーにしてタプルの1番目を取り出したい」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。