(5)自己的handler,也就是对应url的处理函数
my_handler.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys import os import json import time import logging from unipath import Path import traceback import tornado.httpserver import tornado.ioloop import tornado.options import tornado.web import tornado.gen import urllib import urllib2 import zlib from tornado.options import define, options from tornado.httpclient import AsyncHTTPClient from tornado.web import HTTPError from tornado.iostream import StreamClosedError import common_logging import common_urllib from common_conf import g_conf logger = logging.getLogger(__name__) class MyHandler(tornado.web.RequestHandler): @tornado.web.asynchronous @tornado.gen.coroutine def get(self): error_string = "" res="" try: # 获取url中的参数 parm = self.get_argument("parm", "") res = parm except: logger.error("%s" % traceback.format_exc()); error_string = "error" finally: logger.error("[url] request[%s] time[%s] error[%s] " % ( \ self.request.uri, \ self.request.request_time(), \ error_string \ )) #输出返回结果 self.write(res) self.finish() @tornado.web.asynchronous @tornado.gen.coroutine def post(self): error_string = "" res='' try: data = self.request.body res = data except: logger.error("%s" % traceback.format_exc()); gaode_fetch_time = time.time() - gaode_start_time error_string = "cycle curl fail" finally: logger.error("[url] request[%s] data:[%s] time[%s] error[%s]" % ( \ self.request.uri, \ data, \ self.request.request_time(), \ error_string )) self.write(res) self.finish()
如果请求中需要在线抓取其他服务,则可使用tornado框架的代理抓取。
75 client = AsyncHTTPClient() 76 my_response = "" 80 start_time = time.time() 81 try: 82 my_response = yield client.fetch(url, method="POST", body=data, \ 83 request_timeout = float(200)) 84 except: 86 gaode_response = "" 87 fetch_time = time.time() - start_time 88 89 if gaode_response and gaode_response.code == 200: 90 str_res = gaode_response.body
相关推荐
Tornado是一个Python Web框架和异步网络库,由FriendFeed团队开发,后来被Facebook收购并开源。它以其非阻塞I/O模型和强大的Web服务功能而闻名。 在分布式系统中,调度是关键的一环,它负责管理和协调各个节点的...
Tornado 是一个强大的 Python Web 开发框架,以其高性能和异步网络I/O闻名。它最初由 FriendFeed 团队开发,后来被 Facebook 收购并开源。Tornado 的设计目标是处理大量的并发连接,尤其适合长连接和实时Web应用,如...
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,因此 ...
【标题】基于 Python Tornado 框架开发的果蔬采购配货系统 【描述】本项目是一份计算机专业毕业设计的源代码,采用 Python 的 Tornado 框架构建了一个完整的果蔬采购配货系统。Tornado 是一个轻量级、高性能的 Web ...
本项目“linux下集中配置管理工具,使用python tornado框架,结合saltstack开发自己的远程集中管理平台”提供了一种解决方案。 盐堆栈(SaltStack)是一款强大的自动化运维工具,它允许用户通过简单的API接口远程...
这个毕业设计项目的核心是构建一个使用Python的Tornado框架来实现的果蔬采购配货系统。Tornado是一个开源的Web服务器和网络库,以其非阻塞I/O模型和异步处理能力而著名,非常适合构建高性能、高并发的网络应用,尤其...
通过研究这个项目,学习者可以深化对Python Web开发的理解,特别是异步编程和Tornado框架的使用。此外,还可以了解到如何在PaaS环境中实现监控功能,包括收集性能指标(如CPU使用率、内存占用、网络流量等),展示...
使用 Python 语言、Tornado Web框架、TorCMS系统开发,网站程序基于MIT协议开源,托管于 https://github.com/bukun/maplet; WebGIS部分后台使用MapServer作为地图发布器,前端使用Leaflet JavaScript库。实现了地图...
2. **Tornado框架**:Tornado的核心特性包括异步非阻塞I/O模型,使得它能够在单个线程中处理大量并发连接。此外,Tornado提供了Web服务器、HTTP客户端、模板引擎、WebSocket支持、会话管理以及错误处理等功能。 3. ...
Tornado可以与Django、Flask等其他Python Web框架集成,实现优势互补,如在Flask的简单路由和模板系统之上叠加Tornado的异步能力。 通过这个项目实践,你不仅能提升Python编程技能,还能掌握异步网络编程的关键...
基于python异步io框架Tornado,结合JavaScript的onkeydown事件、 jQuery的mousedown、mouseup、touchstart、touchend事件以及Ajax,实现了监控遥控命令与web网页指定按键和鼠标(屏幕)点击事件的绑定,同时也实现了...
基于python的+tornado框架实现的一个项目管理系统源码.zip 基于python的+tornado框架实现的一个项目管理系统源码.zip 基于python的+tornado框架实现的一个项目管理系统源码.zip
【标题】基于Python统一权限管理系统(基于Python的Tornado框架)是计算机专业毕业生在完成学业时经常选择的一个项目,它涉及到Web开发、权限管理和后端编程等多个重要领域。Tornado是一个开源的Python Web服务器和...
【标题】中的“Python 使用 Tornado 框架实现 WebHook 自动部署 Git-gohook”揭示了这个项目的核心内容,即使用 Python 编程语言,结合 Tornado Web 框架来创建一个 WebHook 服务,该服务能够自动响应 Git 仓库的...
Tornado框架和服务器一起组成一个WSGI的全栈替代品。单独在WSGI容器中使用tornado网络框架或者 tornaod http服务器,有一定的局限性,为了最大化的利用tornado的性能,推荐同时使用tornaod的网络框架 心 和HTTP...
Python Tornado 框架允许开发者在同一程序中同时运行Web服务器和Socket服务器,并实现它们之间的交互,这在处理实时通信和高性能网络应用时非常有用。本文将详细介绍如何使用Tornado来构建这样的系统。 首先,我们...
在Tornado框架上构建RESTful API库,可以充分利用其异步特性,提高服务的响应速度和并发能力。开发者可以利用Tornado的`tornado.web`模块创建处理HTTP请求的类,定义各种HTTP方法的处理函数,以及使用`tornado....
这个特定的源码是基于Python编程语言实现的,利用了Tornado框架,一个轻量级且高效的异步网络库。下面将详细介绍这个系统可能包含的关键知识点和相关技术。 首先,Python是当今最流行的编程语言之一,尤其在数据...
Python使用技巧,实战应用...详细介绍了一些Python框架的各种功能和模块,以及如何使用Python进行GUI开发、网络编程和跨平台应用开发等。 适用于初学者和有经验的开发者,能够帮助你快速上手JPython并掌握其高级特性。