资讯专栏INFORMATION COLUMN

tornado学习笔记(1)HTTP请求及API测试

EddieChan / 1096人阅读

摘要:首先是的请求接着是的请求在本次分享中,我们介绍了的请求,包括请求,并将介绍如何使用和来测试该本次分享到此结束,欢迎大家交流

  Tornado是现在的主流 Web 服务器框架,它与大多数 Python 的框架有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。
  在本文中,我们将介绍tornado的HTTP请求,包括GET、POST请求,并将介绍如何来测试该app.
  我们的项目结构如下:

  tornado.py的完整代码如下:

</>复制代码

  1. # tornado的GET、POST请求示例
  2. import os.path
  3. import tornado.httpserver
  4. import tornado.ioloop
  5. import tornado.options
  6. import tornado.web
  7. from tornado.options import define, options
  8. #定义端口为8080
  9. define("port", default=8080, help="run on the given port", type=int)
  10. # GET请求
  11. class IndexHandler(tornado.web.RequestHandler):
  12. # get函数
  13. def get(self):
  14. self.render("index.html")
  15. # POST请求
  16. # POST请求参数: name, age, city
  17. class InfoPageHandler(tornado.web.RequestHandler):
  18. # post函数
  19. def post(self):
  20. name = self.get_argument("name")
  21. age = self.get_argument("age")
  22. city = self.get_argument("city")
  23. self.render("infor.html", name=name, age=age, city=city)
  24. # 主函数
  25. def main():
  26. tornado.options.parse_command_line()
  27. # 定义app
  28. app = tornado.web.Application(
  29. handlers=[(r"/", IndexHandler), (r"/infor", InfoPageHandler)], #网页路径控制
  30. template_path=os.path.join(os.path.dirname(__file__), "templates") # 模板路径
  31. )
  32. http_server = tornado.httpserver.HTTPServer(app)
  33. http_server.listen(options.port)
  34. tornado.ioloop.IOLoop.instance().start()
  35. main()

  templates文件夹为存放HTML文件的模板目录,其中index.html的代码如下:

</>复制代码

  1. Person Info
  2. Enter your information:

  3. name

  4. age

  5. city

infor.html的代码如下:

</>复制代码

  1. Welcome
  2. Welcome

  3. Hello, {{name}}! You are {{age}} years old now , and you live in {{city}}.

  这样我们就完成了tornado的一个简单的HTTP请求的示例项目。在浏览器中输入localhost:8080/,界面如下,并在输入框中输入如下:

  点击“提交”按钮后,页面如下:

  以上我们已经完成了这个web app的测试,但是在网页中测试往往并不方便。以下我们将介绍两者测试web app的方法:

postman

curl

  首先是postman. postman 提供功能强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求 (GET, POST, PUT, DELETE…),并且能附带任何数量的参数和 Headers.
  首先是GET请求的测试:

在Body中有三种视图模式:Pretty,Raw,Preview, Pretty为HTML代码, Raw为原始视图,Preview为网页视图。
  接着是POST请求:

  在Linux中,我们还可以用curl命令来测试以上web app.在Linux中,curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具。
  首先是curl的GET请求:

  接着是curl的POST请求:

  在本次分享中,我们介绍了tornado的HTTP请求,包括GET、POST请求,并将介绍如何使用postman和curl来测试该app.
  本次分享到此结束,欢迎大家交流~~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41743.html

相关文章

  • Tornado学习笔记1

    摘要:对参数类型进行检验,这里为当参数类型不合适是会抛出一个异常。将使用的第二个参数值作为默认值。而请求将从格式中取得指定的文本。这里需要正则表达式相关的知识,到了后面的学习中,必要时再去深入学习。到目前我们使用了,还支持任何合法的请求。 参考书籍《Introduction to Tornado》1.1 Tornado是什么?Tornado是使用Python编写的一个强大的、可扩展的Web服...

    ChanceWong 评论0 收藏0
  • SegmentFault 技术周刊 Vol.30 - 学习 Python 来做一些神奇好玩的事情吧

    摘要:学习笔记七数学形态学关注的是图像中的形状,它提供了一些方法用于检测形状和改变形状。学习笔记十一尺度不变特征变换,简称是图像局部特征提取的现代方法基于区域图像块的分析。本文的目的是简明扼要地说明的编码机制,并给出一些建议。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 开始之前,我们先来看这样一个提问: pyth...

    lifesimple 评论0 收藏0
  • 超赞!快来用Python的搭建你的AI老婆吧!

    摘要:夏天太热,又不想出门,就让我们用的来搭建属于自己的可以对话的老婆吧本文拟使用的开发语言实现类似于的平台的小娜,或者是下的的。 夏天太热,又不想出门,就让我们用的Python来搭建属于自己的〜可以对话的AI老婆吧〜   本文拟使用Python的开发语言实现类似于的WIndows平台的小娜,或者是IOS下的Siri的。最终达到人机对话的效果。 showImg(https://segment...

    Tychio 评论0 收藏0
  • Tornado学习笔记(2)

    摘要:而这里的方法则是告诉来读取模板文件,并将结果返回给浏览器。依旧可以使用,等条件控制语句,但是要记得以结尾。替换字符串中的字符为编码形式。模块模块是封装模板中包含的标记样式以及行为的可复用组件。 表单和模板 import os.path import tornado.httpserver import tornado.ioloop import tornado.options impo...

    tianyu 评论0 收藏0

发表评论

0条评论

EddieChan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<