Maison >développement back-end >Tutoriel Python >RequestHandler pour le développement Python du site Tornado : capture des entrées
La capture d'entrée fait référence aux fonctions et propriétés de l'outil utilisées dans RequestHandler pour obtenir les entrées du client. Par exemple, obtenir les paramètres d'URL, les paramètres de soumission de publication, etc.
1. get_argument(name), get_arguments(name)
RequestHandler.get_argument(name) et RequestHandler.get_arguments(name) renvoient tous deux la valeur du paramètre donné. get_argument obtient une valeur unique, tandis que get_arguments est utilisé lorsqu'il y a plusieurs valeurs dans le paramètre et renvoie une liste de plusieurs valeurs.
Remarque : utilisez ces deux méthodes pour obtenir une collection de paramètres interrogés dans l'URL et de paramètres soumis par POST.
2. get_query_argument(name), get_query_arguments(name)
Les fonctions sont similaires aux deux méthodes ci-dessus. La seule différence est que ces deux méthodes interrogent uniquement les paramètres de l'URL.
3. get_body_argument(name), get_body_arguments(name)
Les fonctions sont toujours similaires aux quatre méthodes ci-dessus. La seule différence est que ces deux méthodes interrogent uniquement les paramètres soumis par POST. .
Astuce : Dans le développement réel, les deux méthodes get_argument et get_arguments sont généralement utilisées, car elles contiendront les résultats de requête d'autres méthodes.
4. get_cookie(name,default=None)
Obtenir la valeur du cookie en fonction du nom du cookie
5. RequestHandler.request
Retourner la tornade. .httputil Attributs de l'instance de l'objet .HTTPServerRequest Grâce à cet objet, vous pouvez obtenir toutes les informations sur la requête HTTP, telles que :
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()
Entrée du navigateur : http://localhost:8888/request
Affichage de la page :ip地址为::1,host为localhost:8888Les propriétés de l'objet httputil.HTTPServerRequest couramment utilisées sont les suivantes :
属性名 | 说明 |
---|---|
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字典 |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!