入力キャプチャとは、クライアント入力を取得するために RequestHandler で使用されるツールの関数とプロパティを指します。たとえば、URL パラメーター、投稿送信パラメーターなどを取得します。
1. get_argument(name)、get_arguments(name)
RequestHandler.get_argument(name) および RequestHandler.get_arguments(name) は両方とも、指定されたパラメーターの値を返します。 get_argument は単一の値を取得しますが、get_arguments はパラメータに複数の値がある場合に使用され、複数の値のリストを返します。
注: URL でクエリされたパラメータと POST によって送信されたパラメータのパラメータ コレクションを取得するには、これら 2 つのメソッドを使用します。
2. get_query_argument(name)、get_query_arguments(name)
関数は上記の 2 つのメソッドと似ていますが、唯一の違いは、これら 2 つのメソッドは URL からパラメーターのみをクエリすることです。
3. get_body_argument(name)、get_body_arguments(name)
関数は上記の 4 つのメソッドと同様ですが、唯一の違いは、これら 2 つのメソッドは POST によって送信されたパラメーターからのみクエリを実行することです。 。
ヒント: 実際の開発では、他のメソッドのクエリ結果が含まれるため、通常、get_argument と get_arguments の 2 つのメソッドが使用されます。
4. get_cookie(name,default=None)
Cookie 名に基づいて Cookie 値を取得します
5. RequestHandler.request
Return tornado .httputil .HTTPServerRequest オブジェクト インスタンスの属性。HTTP リクエストに関するすべての情報は、次のようなこのオブジェクトを通じて取得できます。
from tornado.web import Application, RequestHandler import tornado.ioloop class DetailHandler(RequestHandler): def get(self): ip = self.request.remote_ip # 获取客户端的IP地址 host = self.request.host # 获取请求的主机地址 result="ip地址为%s,host为%s"%(ip,host) return self.write(result) if __name__ == '__main__': app = Application([ ("/request", DetailHandler) ]) app.listen(8888) tornado.ioloop.IOLoop.current().start()
ブラウザ入力: http://localhost:8888/request
ページに表示される内容:
ip地址为::1,host为localhost:8888
一般的に使用される httputil.HTTPServerRequest オブジェクトの属性は次のとおりです:
属性名 | 説明 |
---|---|
method | HTTP リクエスト メソッド (例: GET、POST |
uri | #) ##クライアントによって要求された URI 完全なコンテンツ。|
uri パス名。つまり、クエリ文字列 | |
version | |
#) | ## headers |
body | |
remote_ip | |
protocol | |
host | |
arguments | |
#files | クライアントによってアップロードされたファイルを辞書の形式で返します。各ファイル名は HTTPFile |
# に対応します。 #cookies | クライアントによって送信された Cookie ディクショナリ |
# |
以上がTornado Web サイトの Python 開発用 RequestHandler: 入力キャプチャの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。