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