使用Tornado框架开发网站;RequestHandler:输入捕捉

简介: 人活一辈子,万事不要去比较,自己过得如自己的意就好了。

本篇文章给大家带来的内容是关于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对象属性如下表:
image.png

相关文章
|
2月前
|
数据库 开发者 Python
用Python代码打造你的私人网页交互系统
用Python代码打造你的私人网页交互系统
39 1
|
2月前
|
Web App开发 Java 测试技术
多任务一次搞定!selenium自动化复用浏览器技巧大揭秘
多任务一次搞定!selenium自动化复用浏览器技巧大揭秘
52 1
|
14天前
|
JavaScript 前端开发 测试技术
MechanicalSoup,一个非常实用的 Python 自动化浏览器交互工具库!
MechanicalSoup,一个非常实用的 Python 自动化浏览器交互工具库!
28 9
|
24天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(二十二)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换上卷(详细教程)
【4月更文挑战第14天】本文介绍了在Web自动化测试中如何使用Selenium进行浏览器窗口的切换。首先,获取浏览器窗口句柄有两种方式:获取所有窗口句柄的集合和获取当前窗口句柄。然后,通过`switchTo().window()`方法切换到目标窗口。在项目实战部分,展示了如何在京东网站上实现页面间的切换,包括点击手机链接打开新窗口,然后切换到新窗口并点击小米链接。文章还提供了两种不同的代码实现方式,并给出了运行代码后的控制台输出和浏览器动作演示。最后,作者建议将窗口切换的逻辑封装成方法以提高代码复用性。
40 0
|
5月前
|
Web App开发 JavaScript 前端开发
如何使用浏览器自动化框架Playwright开发“万媒易发”实现多平台自动发布文章?
作为一名程序员和开发者,我深知在多个媒体平台手动发布和管理文章的痛苦。因此,我决定使用Playwright浏览器自动化框架,开发一款名为“万媒易发”的工具,实现多平台自动发布文章。下面我将分享这款工具的开发过程和成果,希望能对大家有所启发和帮助。
|
9月前
|
机器学习/深度学习 数据挖掘 PyTorch
10个最有用的Python库和框架,让你成为编程高手
在本文中,我们介绍了10个最有用的Python库和框架,它们可以帮助你成为编程高手。无论是数据分析、Web开发、机器学习还是深度学习,这些工具都能够大大提升你的效率和能力。当然,这只是冰山一角,在Python生态系统中还有许多其他令人惊叹的库和框架等待你去探索和应用。无论你是新手还是有经验的开发者,都可以从这些工具中受益,并在编程的道路上不断进步。让我们一起深入学习和探索,不断提升自己的编程技能!
396 2
10个最有用的Python库和框架,让你成为编程高手
|
Python
Python自动化实现web页面UI差异对比
以自动化或工具的方式实现页面UI与标准UI图对比并输出可视结果
989 0
Python自动化实现web页面UI差异对比
|
Python
大型情感剧集Selenium:9_selenium配合Pillow完成浏览器局部截图
上次提到了selenium的四种截图方法,最终截图了整张网页。但很多时候,我们仅仅需要截图部分的内容。比如截取某个关键信息,或者现在已经不常见的截图验证码(现在都是各种按规则点击...)。那么我们该如何进行部分元素的截图呢?今天我们就来举个例子...
165 0
大型情感剧集Selenium:9_selenium配合Pillow完成浏览器局部截图
|
Dubbo Java 测试技术
基于Requests与mitmproxy打造迷你接口测试框架
![](https://ceshiren.com/uploads/default/original/3X/5/e/5ea8dedae80fbc21593b87c72807c990c252cba0.jpeg) 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 很多系统的关联都是基于接口测试
|
JSON API 数据格式
如何用最最最简单的方式理解一个FastAPI程序?
如何用最最最简单的方式理解一个FastAPI程序?
440 1
如何用最最最简单的方式理解一个FastAPI程序?