Python开发Tornado网站之RequestHandler:输入捕捉
- 更新时间:2022-07-25 09:23:21
- 编辑:毛烨霖
输入捕捉是指在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, 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的完整内容。 |
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:输入捕捉的详细内容,更多请关注码农之家其它相关文章!
相关教程
-
Python通过matplotlib画双层饼图及环形图简单示例
给网友们整理关于Python的教程,这篇文章主要介绍了Python通过matplotlib画双层饼图及环形图简单示例,具有一定借鉴价值,需要的朋友可以参考下。
发布时间:2022-06-23
-
Python3使用PyQt5制作简单的画板/手写板的代码详解
下面小编就为大家带来一篇Python3使用PyQt5制作简单的画板/手写板实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
发布时间:2019-12-19
-
《Python编程:从入门到实践》第五章:if语句
5-1 条件测试 编写一系列条件测试;将每个测试以及你对其结果的预测和实际结果都打印出来。你编写的代码应类似于下面这样: car = subaruprint(Is car == subaru? I predict True.)print(car == subaru) print(\nIs car == audi? I predict False.)print(car == audi) 详细研究实际结果,直到你明白了它为何为True 或False 。 创建至少10个测试,且其中结果分别为True 和Fals
发布时间:2018-12-01
-
python字符串内部换行的方法总结
今天小编就为大家分享一篇python中的字符串内部换行方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
发布时间:2019-06-21
-
python实时分析日志脚本代码写法
这篇文章主要给大家分享了一个实时分析日志的python小脚本,文中给出了详细的介绍和示例代码供大家参考学习,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起看
发布时间:2020-01-19
-
《Python编程:从入门到实践》第九章:类
9-1 餐馆 创建一个名为Restaurant 的类,其方法__init__() 设置两个属性:restaurant_name 和cuisine_type 。创建一个名 为describe_restaurant() 的方法和一个名为open_restaurant() 的方法,其中前者打印前述两项信息,而后者打印一条消息,指出餐馆正在营业。 class Restraurant():docstring for Restraurantdef __init__(self, restaurant_name,cuis
发布时间:2018-12-01
-
python代数式括号有效性检验示例代码
给大家整理一篇关于python的教程,这篇文章主要给大家介绍了关于python代数式括号有效性检验的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
发布时间:2022-06-29
-
python中reader的next用法说明
这篇文章主要介绍了python中reader的next用法,分别介绍了python3中的用法和python2中的用法,具体实例代码大家参考下本文
发布时间:2019-06-14
-
Python命令行解析模块代码实例
这篇文章主要介绍了Python命令行解析模块详解,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
发布时间:2020-02-05
-
如何使用Python编写Prometheus监控
今天小编就为大家分享一篇关于使用Python编写Prometheus监控的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
发布时间:2020-03-11