Tornado同步api和异步api混写一例
代码如下:
import tornado.ioloop
import tornado.web
from tornado.httpclient import HTTPClient, AsyncHTTPClientfrom io import BytesIO
import gzip
import requests
class MainHandler(tornado.web.RequestHandler):# 同步def get(self):res = requests.get("http://mobilecdnbj.kugou.com/api/v3/tag/list?pid=0&apiver=2&plat=0",stream=True)print("-------------------------------------------------")print(dir(res))buff = BytesIO(res.raw.read())f = gzip.GzipFile(fileobj=buff)res = f.read().decode('utf-8')print(res)self.write(res)class TestHandler(tornado.web.RequestHandler):# 异步async def get(self):http_client = AsyncHTTPClient()try:res = await http_client.fetch("http://www.baidu.com")except Exception as e:print("Error: %s" % e)else:passself.write("Hello, world1")settings = dict(
debug=True
)def make_app():return tornado.web.Application([(r"/", MainHandler),(r"/test", TestHandler),],**settings)if __name__ == "__main__":app = make_app()app.listen(8888)tornado.ioloop.IOLoop.current().start()
运行方法:
python test.py
同步API测试:
浏览器打开127.0.0.1:8888/
异步API测试:
浏览器打开127.0.0.1:8888/test
Tornado同步api和异步api混写一例相关推荐
- 前端学习(1318):同步api和异步api
- 【Objective-C】Http常用API、同步请求与异步请求[转]
比较实用, 转载保存 开发iOS应用要调用Http接口.获取Http资源,有一套比较成熟的框架ASIHTTPRequest.而我还是比较喜欢使用原始一点的API,而它跟其他的面向对象语言有许多共通之处 ...
- Code First系列之视图,存储过程和异步API
返回<8天掌握EF的Code First开发>总目录 本篇目录 视图View 存储过程 使用存储过程CRUD 异步API 本章小结 自我测试 本系列的源码本人已托管于coding上:点击查 ...
- CompletableFuture原理与实践-外卖商家端API的异步化
CompletableFuture由Java 8提供,是实现异步化的工具类,上手难度较低,且功能强大,支持通过函数式编程的方式对各类操作进行组合编排.相比于ListenableFuture,Compl ...
- CompletableFuture进阶篇-外卖商家端API的异步化
CompletableFuture进阶篇-外卖商家端API的异步化 背景 为何需要并行加载 并行加载的实现方式 同步模型 NIO异步模型 为什么会选择CompletableFuture? Comple ...
- 先写API文档还是先写代码?你需要这款神器Apifox!
代码未动,文档先行 其实大家都知道 API 文档先行的重要性,但是在实践过程中往往会遇到很多困难. 程序员最讨厌的两件事:1. 写文档,2. 别人不写文档.大多数开发人员不愿意写 API 文档的原因是 ...
- RPC-非阻塞通信下的同步API实现原理,以Dubbo为例
Netty在Java NIO领域基本算是独占鳌头,涉及到高性能网络通信,基本都会以Netty为底层通信框架,Dubbo 也不例外.以下将以Dubbo实现为例介绍其是如何在NIO非阻塞通信基础上实现同步 ...
- MFC win32 API串口异步模式代码示范 vs2015
MFC win32 API串口异步模式代码示范 vs2015 本程序为单步接收,即点击接收按钮,才能收到消息. 实时循环接收需要添加线程 参考实例: https://blog.csdn.net/t ...
- Zookeeper C API 指南六(异步 API 介绍)
转载地址:https://www.cnblogs.com/haippy/archive/2013/02/21/2920426.html 上一讲<Zookeeper C API 指南五(同步 AP ...
最新文章
- 使用TensorRT集成推理inference
- 非常有用的css使用总结
- matlab显示像素分布,MATLAb-----7--------如何动态显示鼠标的坐标值和图像像素值
- Opencv中三种操作像素的方法
- Golang手册与常用包手册
- 如何创建sequence
- springboot定时任务处理
- YlmF WinXP SP3精简版安装显卡驱动技巧
- 华为年底将推多款平板产品:顶配版将搭载5nm麒麟9000
- redis配置master-slave模式
- 计算机桌面底部不显示了,为什么电脑底部不会显示出来怎么办
- 谁在杀死Facebook?谁该为我们负责?
- java 读文件 优化_Java读取文件性能优化程序代码
- 冰点下载器的使用方法
- 华为海思总裁深夜发文:进入至暗时刻,技术“备胎”将全部转正应敌
- 【计算机图形学】几何
- 正则表达式限制输入框输入
- 利用pyecharts实现中国省与市之间的跳转
- 用python提取word到excel(excel可更新)
- 如何在web端登录企业邮箱? 163企业邮箱怎么登陆?
热门文章
- 和虫师一起学python(7)
- 单例模式的七种写法(转)
- 前后台页面跳转方式搜集
- 《职场一点诀 帆风顺,一定快乐?》读后感
- XCTF-Web-高手区-Web_python_template_injection
- DVWA--Brute Force(暴力破解)--四个等级
- 1.计算机技术在音乐作品中的使用,数字技术在电子音乐中的应用论文
- 非平坦结构元matlab,基于MATLAB的巴特沃思型数字滤波器设计.doc
- 如何搭建一个node 工程
- java发送html模板