Python-リクエストステータスコード
要求メッセージを受信して解釈した後、サーバーはHTTP応答メッセージで応答します。応答メッセージにはステータスコードがあります。これは3桁の整数であり、ステータスコードの最初の桁が応答のクラスを定義し、最後の2桁には分類の役割がありません。最初の桁には5つの値があります。
ステータスコード
SN | コードと説明 |
---|---|
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://tutorialspoint.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://tutorialspoint.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