tornado
我是猪行不
业精于勤荒于嬉
展开
-
tornado协程(s e)
tornado协程基于python的yield关键字实现,所以不能像调用普通函数一样调用协程函数、from tornado import genfrom tornado.httpclient import AsyncHTTPClient@gen.coroutinedef coroutine_visit(): http_client = AsyncHTTPClient() prin...原创 2018-11-07 15:38:27 · 276 阅读 · 0 评论 -
tornado websocket在线聊天
最基本的聊天页面:基本层次:chat.py ---static --- favicon.icotemplates ---index.html 主代码chat.py:# coding:utf-8import tornado.webimport tornado.ioloopimport tornado.httpserverimport to...原创 2018-11-15 16:52:48 · 629 阅读 · 1 评论 -
tornado 安全cookie以及身份认证
import tornado.webimport tornado.ioloopsession_id = 1class MainHandler(tornado.web.RequestHandler): def get(self): global session_id if not self.get_secure_cookie('session'):...原创 2018-11-08 20:02:13 · 571 阅读 · 0 评论 -
tornado 异步化以及协程化
异步化:import tornado.webimport tornado.ioloopimport tornado.httpclientclass MainHandler(tornado.web.RequestHandler): @tornado.web.asynchorous #装饰器定义get函数,get返回不需要等到访问结束,但是也无法发送response给客户...原创 2018-11-08 17:51:21 · 307 阅读 · 0 评论 -
tornado RequestHandler
RequestHandler类是配置和相应URL请求的核心类。from tornado.web import RequestHandlerfrom tornado.web import Application#RequestHandler.initialize() :子类实例初始化,允许传参class ProfileHandler(RequestHandler): def i...原创 2018-11-08 17:23:20 · 990 阅读 · 0 评论 -
websocket 服务端(tornado)
import tornado.ioloopimport tornado.webimport tornado.websocketfrom tornado.options import define, options, parse_command_linefrom tornado import gendefine("port", default=9993, help="run on th...原创 2018-11-13 11:38:33 · 1467 阅读 · 0 评论 -
协程等待多个异步调用(list or dict)
from tornado import genfrom tornado.httpclient import AsyncHTTPClient@gen.coroutinedef coroutine_visit_list(): http_client = AsyncHTTPClient() list_response = yield [ http_client....原创 2018-11-07 16:55:14 · 267 阅读 · 0 评论 -
协程中调用阻塞函数
from concurrent.futures import ThreadPoolExecutorfrom tornado import genthreadpool = ThreadPoolExecutor(2)def mySleep(count): import time for i in range(count): print(i) time.s...原创 2018-11-07 16:42:34 · 1456 阅读 · 0 评论 -
Tornado之hello world
import tornado.ioloopimport tornado.webimport tornado.httpserverimport tornado.optionsfrom tornado.options import define, options#定义端口配置define('port', type=int, default=8080)#创建视图处理器class M...原创 2018-11-01 16:21:26 · 162 阅读 · 0 评论 -
tornado学习日记(1)
第一个简单应用import tornado.ioloopimport tornado.webimport tornado.httpserverimport tornado.optionsfrom tornado.options import define, options#定义端口配置define('port', type=int, default=8080)#创建视图处理...转载 2018-11-01 16:23:27 · 188 阅读 · 0 评论 -
tornado_http同步IO异步IO
同步IO:from tornado.httpclient import HTTPClientdef synchronous(): http_client = HTTPClient() response = http_client.fetch('www.baidu.com') print(response.body)同步IO操作导致请求进程阻塞,直到IO操...原创 2018-11-07 14:25:10 · 258 阅读 · 0 评论 -
防止跨站攻击(tornado)
为了防止XSRF,要求每一个请求必须通过一个cookie头和一个隐藏表单向页面提供令牌,这样网站才认为请求有效。开启tornado的XSRF功能有两个步骤:1.在实例化tornado.web.Application时传入xsrf_cookies=True参数:App = tornado.web.Application([(r'/', MainHandler),],cookie_secr...原创 2018-11-12 10:11:51 · 571 阅读 · 0 评论