Python开发Tornado网站之RequestHandler:输入捕捉

  • 更新时间:2022-07-25 09:23:21
  • 编辑:毛烨霖
本篇文章给大家带来的内容是关于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, 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通过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

用户留言