Python-network-programming-python-request-status-codes
提供:Dev Guides
Python-リクエストステータスコード
要求メッセージを受信して解釈した後、サーバーはHTTP応答メッセージで応答します。 応答メッセージにはステータスコードがあります。 これは3桁の整数で、Status-Codeの最初の桁は応答のクラスを定義し、最後の2桁には分類の役割はありません。 最初の桁には5つの値があります。
状態コード
S.N. | Code and Description |
---|---|
1 |
1xx: Informational 要求が受信され、プロセスが継続していることを意味します。 |
2 |
2xx: Success アクションが正常に受信、理解、および受け入れられたことを意味します。 |
3 |
3xx: Redirection これは、要求を完了するためにさらにアクションを実行する必要があることを意味します。 |
4 |
4xx: Client Error これは、リクエストに誤った構文が含まれているか、リクエストを実行できないことを意味します。 |
5 |
5xx: Server Error サーバーが明らかに有効な要求を実行できなかったことを意味します。 |
成功した応答
以下の例では、URLからファイルにアクセスし、応答が成功します。 したがって、返されるステータスコードは200です。
import urllib3
http = urllib3.PoolManager()
resp = http.request('GET', 'http://finddevguides.com/robots.txt')
print resp.data
# get the status of the response
print resp.status
上記のプログラムを実行すると、次の出力が得られます-
User-agent: *
Disallow:/tmp
Disallow:/logs
Disallow:/rate/*
Disallow:/cgi-bin/*
Disallow:/videotutorials/video_course_view.php?*
Disallow:/videotutorials/course_view.php?*
Disallow:/videos/*
Disallow:/*/*_question_bank/*
Disallow://*/*/*/*/src/*
200
失敗した応答
以下の例では、存在しないURLからファイルにアクセスします。 応答は失敗します。 したがって、返されるステータスコードは403です。
import urllib3
http = urllib3.PoolManager()
resp = http.request('GET', 'http://finddevguides.com/robot.txt')
print resp.data
# get the status of the response
print resp.status
上記のプログラムを実行すると、次の出力が得られます-
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access/robot.txt
on this server.</p>
</body></html>
403