本篇文章给大家带来的内容是关于python开发tornado网站之requesthandler:输入捕捉 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
输入捕捉是指在requesthandler中用于获取客户端输入的工具函数和属性。比如获取url参数、post提交参数等。
1、get_argument(name)、get_arguments(name)
requesthandler.get_argument(name)与requesthandler.get_arguments(name)都是返回给定参数的值。get_argument是获取单个值,而get_arguments在参数存在多个值得情况下使用,返回多个值的列表。
注意:使用这两个方法获取的事url中查询的参数与post提交的参数的参数合集。
2、get_query_argument(name)、get_query_arguments(name)
功能与上面两个方法类似,唯一区别是这两个方法仅仅从url中查询参数。
3、get_body_argument(name)、get_body_arguments(name)
功能尚与上面四个方法类似,唯一区别是这两个方法仅仅从post提交的参数中查询。
提示:实际开发中一般会使用get_argument、get_arguments这两个方法,因为他们会包含其他方法的查询结果。
4、get_cookie(name,default=none)
根据cookie名称获取cookie的值
5、 requesthandler.request
返回tornado.httputil.httpserverrequest对象实例的属性,通过该对象可以获取关于http请求的一切信息,比如:
from tornado.web import application, requesthandlerimport tornado.ioloopclass 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的完整内容。
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字典
以上就是python开发tornado网站之requesthandler:输入捕捉的详细内容。