ホームページ  >  記事  >  バックエンド開発  >  Tornado Web サイトの Python 開発用 RequestHandler: 入力キャプチャ

Tornado Web サイトの Python 開発用 RequestHandler: 入力キャプチャ

不言
不言転載
2018-10-19 17:16:052601ブラウズ
この記事の内容は、Pythonで開発されたTornado WebサイトのRequestHandler:インプットキャプチャに関するもので、一定の参考値があり、困っている友人は参考にしていただければ幸いです。

入力キャプチャとは、クライアント入力を取得するために 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 オブジェクトの属性は次のとおりです:

#) ##クライアントによって要求された URI 完全なコンテンツ。 #path#query## は含まれません。 #uri version のクエリ文字列は、クライアントがリクエストを送信するときに使用される HTTP バージョンです (例: HTTP/1.1#) HTTP ヘッダーを辞書形式で返しますHTTP メッセージ本文を辞書形式で返しますstringクライアントの IP アドレスリクエスト プロトコル (例: HTTP、 HTTPSリクエスト メッセージのホスト名によって送信されたすべてのパラメータクライアント。 #filesクライアントによってアップロードされたファイルを辞書の形式で返します。各ファイル名は HTTPFile#
属性名 説明
method HTTP リクエスト メソッド (例: GET、POST
uri
uri パス名。つまり、クエリ文字列
## headers
body
remote_ip
protocol
host
arguments
# に対応します。 #cookies クライアントによって送信された Cookie ディクショナリ

以上がTornado Web サイトの Python 開発用 RequestHandler: 入力キャプチャの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。