Heim >Backend-Entwicklung >Python-Tutorial >RequestHandler für die Entwicklung der Tornado-Website in Python: Eingabeerfassung
Eingabeerfassung bezieht sich auf die Toolfunktionen und -eigenschaften, die in RequestHandler verwendet werden, um Clienteingaben zu erhalten. Zum Beispiel das Abrufen von URL-Parametern, Beitragsübermittlungsparametern usw.
1. get_argument(name), get_arguments(name)
RequestHandler.get_argument(name) und RequestHandler.get_arguments(name) geben beide den Wert des angegebenen Parameters zurück. get_argument ruft einen einzelnen Wert ab, während get_arguments verwendet wird, wenn der Parameter mehrere Werte enthält, und eine Liste mit mehreren Werten zurückgibt.
Hinweis: Verwenden Sie diese beiden Methoden, um eine Sammlung von in der URL abgefragten Parametern und von POST übermittelten Parametern zu erhalten.
2. get_query_argument(name), get_query_arguments(name)
Der einzige Unterschied besteht darin, dass diese beiden Methoden nur Parameter aus der URL abfragen.
3. get_body_argument(name), get_body_arguments(name)
Die Funktionen ähneln immer noch den oben genannten vier Methoden. Der einzige Unterschied besteht darin, dass diese beiden Methoden nur die von POST übermittelten Parameter abfragen .
Tipp: In der tatsächlichen Entwicklung werden im Allgemeinen die beiden Methoden get_argument und get_arguments verwendet, da sie die Abfrageergebnisse anderer Methoden enthalten.
4. get_cookie(name,default=None)
Den Cookie-Wert entsprechend dem Cookie-Namen abrufen
5. RequestHandler.request
Tornado zurückgeben .httputil Attribute der .HTTPServerRequest-Objektinstanz können über dieses Objekt abgerufen werden, wie zum Beispiel:
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()
Browser-Eingabe: http://localhost:8888/request
Die Seite zeigt an:
ip地址为::1,host为localhost:8888
Die häufig verwendeten httputil.HTTPServerRequest-Objekteigenschaften lauten wie folgt:
属性名 | 说明 |
---|---|
method | HTTP请求方法,例如:GET、POST |
uri | 客户端请求的uri的完整内容。 |
path | uri路径名,即不包含查询字符串 |
query | uri中的查询字符串 |
version | 客户端发送请求时使用的HTTP版本,例如:HTTP/1.1 |
headers | 以字典方式的形式返回HTTP Headers |
body | 以字符串的形式返回HTTP消息体 |
remote_ip | 客户端的IP地址 |
protocol | 请求协议,例如:HTTP、HTTPS |
host | 请求消息的主机名 |
arguments | 客户端提交的所有参数。 |
files | 以字典形式返回客户端上传的文件,每个文件名对应一个HTTPFile |
cookies | 客户端提交的Cookies字典 |
Das obige ist der detaillierte Inhalt vonRequestHandler für die Entwicklung der Tornado-Website in Python: Eingabeerfassung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!