高性能web服务器框架Tornado简单实现restful接口及开发实例
有个朋友让我搞搞tornado框架,说实话,这个框架我用的不多。。。
我就把自己的一些个运维研发相关的例子,分享给大家。
怎么安装tornado,我想大家都懂。
pip install tornado
再来说说他的一些个模块,官网有介绍的。我这里再啰嗦的复读机一下,里面掺夹我的理解。
主要模块
web - FriendFeed 使用的基础 Web 框架,包含了 Tornado 的大多数重要的功能,反正你进入就对了。
escape - XHTML, JSON, URL 的编码/解码方法
database - 对 MySQLdb 的简单封装,使其更容易使用,是个orm的东西。
template - 基于 Python 的 web 模板系统,类似jinja2
httpclient - 非阻塞式 HTTP 客户端,它被设计用来和 web 及 httpserver 协同工作,这个类似加个urllib2
auth - 第三方认证的实现(包括 Google OpenID/OAuth、Facebook Platform、Yahoo BBAuth、FriendFeed OpenID/OAuth、Twitter OAuth)
locale - 针对本地化和翻译的支持
options - 命令行和配置文件解析工具,针对服务器环境做了优化,接受参数的
底层模块
httpserver - 服务于 web 模块的一个非常简单的 HTTP 服务器的实现
iostream - 对非阻塞式的 socket 的简单封装,以方便常用读写操作
ioloop - 核心的 I/O 循环
再来说说tornado接受请求的方式:
关于get的方式
class MainHandler(tornado.web.RequestHandler): def get(self): self.write("You requested the main page") class niubi(tornado.web.RequestHandler): def get(self, story_id): self.write("xiaorui.cc niubi'id is " + story_id) application = tornado.web.Application([ (r"/", MainHandler), (r"/niubi/([0-9]+)", niubi), ])
这样我们访问 /niubi/123123123 就会走niubi这个类,里面的get参数。
关于post的方式
class MainHandler(tornado.web.RequestHandler): def get(self): self.write('<html><body><form action="/" method="post">' '<input type="text" name="message">' '<input type="submit" value="Submit">' '</form></body></html>') def post(self): self.set_header("Content-Type", "text/plain") self.write("xiaorui.cc and " + self.get_argument("message"))
在tornado里面,一般get和post都在一个访问路由里面的,只是按照不同method来区分相应的。
扯淡的完了,大家测试下get和post。
import tornado.ioloop import tornado.web import json class hello(tornado.web.RequestHandler): def get(self): self.write('Hello,xiaorui.cc') class add(tornado.web.RequestHandler): def post(self): res = Add(json.loads(self.request.body)) self.write(json.dumps(res)) def Add(input): sum = input['num1'] + input['num2'] result = {} result['sum'] = sum return result application = tornado.web.Application([ (r"/", hello), (r"/add", add), ]) if __name__ == "__main__": application.listen(8888) tornado.ioloop.IOLoop.instance().start()
#大家可以写个form测试,也可以用curl -d测试

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Buffalo ist ein mit Golang entwickeltes Web-Framework, das eine Lösung für die schnelle Entwicklung von Webanwendungen bietet. In diesem Artikel stellen wir vor, wie Sie mit Buffalo eine Webanwendung erstellen. Buffalo installieren Zuerst müssen wir Buffalo lokal installieren. Buffalo bietet ein praktisches Befehlszeilentool, mit dem Sie Anwendungen erstellen und ausführen können. Stellen Sie vor der Installation sicher, dass Golang und Node.js installiert sind. Ran

In diesem Artikel stellen wir Ihnen ein Nodejs-Webframework vor: Fastify. Es stellt kurz die von Fastify unterstützten Funktionen und die Verwendung von Fastify vor.

Da die Nachfrage nach Webentwicklung weiter steigt, werden Web-Frameworks in verschiedenen Sprachen nach und nach diversifiziert, und die Go-Sprache bildet da keine Ausnahme. Unter den vielen Web-Frameworks in der Go-Sprache sind Gin, Echo und Iris die drei beliebtesten Frameworks. In diesem Artikel vergleichen wir die Vor- und Nachteile dieser drei Frameworks, um Ihnen bei der Auswahl des richtigen Frameworks für Ihr Projekt zu helfen. Gingin ist ein leichtes Webframework, das sich durch hohe Leistung und Flexibilität auszeichnet. Es unterstützt Middleware- und Routing-Funktionen und eignet sich daher ideal für die Erstellung von RESTful

Web-Frameworks sind zu einem integralen Bestandteil der modernen Webanwendungsentwicklung geworden und bieten eine Infrastruktur, die es Entwicklern ermöglicht, ihre Anwendungen schneller zu erstellen und bereitzustellen. In der PHP-Entwicklung ist Slim ein leichtes Web-Framework, das für seine Benutzerfreundlichkeit und schnelle Entwicklung bekannt ist. In diesem Artikel erfahren Sie, wie Sie mit PHP und Slim eine einfache, aber leistungsstarke Webanwendung erstellen. Was ist Slim? Slim ist ein leichtes Web-Framework, das im Kern in der Sprache PHP geschrieben ist

Der Grund für den Fehler liegt in Python. Der Grund, warum NotImplementedError() in Tornado ausgelöst wird, kann darin liegen, dass eine abstrakte Methode oder Schnittstelle nicht implementiert ist. Diese Methoden oder Schnittstellen werden in der übergeordneten Klasse deklariert, aber nicht in der untergeordneten Klasse implementiert. Unterklassen müssen diese Methoden oder Schnittstellen implementieren, um ordnungsgemäß zu funktionieren. Die Lösung dieses Problems besteht darin, die von der übergeordneten Klasse deklarierte abstrakte Methode oder Schnittstelle in der untergeordneten Klasse zu implementieren. Wenn Sie eine Klasse verwenden, um von einer anderen Klasse zu erben, und dieser Fehler angezeigt wird, sollten Sie alle in der übergeordneten Klasse deklarierten abstrakten Methoden in der untergeordneten Klasse implementieren. Wenn Sie eine Schnittstelle verwenden und dieser Fehler angezeigt wird, sollten Sie alle in der Schnittstelle deklarierten Methoden in der Klasse implementieren, die die Schnittstelle implementiert. Wenn Sie sich nicht sicher sind, welches

Die Go-Sprache ist in den letzten Jahren im Bereich der Webentwicklung immer beliebter geworden. Einerseits sind seine Leistungs- und Parallelitätseigenschaften hervorragend und es eignet sich sehr gut für die Verarbeitung hochgradig gleichzeitiger Webanforderungen. Andererseits hat sich seine Entwicklungseffizienz schrittweise verbessert und es wurden immer mehr Web-Frameworks und Entwicklungstools eingeführt. In diesem Artikel werden hauptsächlich die relevanten Inhalte der Entwicklung von Web-Frameworks und Webdiensten in der Go-Sprache vorgestellt. Unabhängig davon, ob Sie ein Anfänger in der Webentwicklung oder ein Entwickler mit etwas Erfahrung sind, können Sie in diesem Artikel mehr über die relevanten Kenntnisse und Techniken der Webentwicklung in der Go-Sprache erfahren.

Mit der Entwicklung und Popularisierung der Internet-Technologie werden immer mehr Anforderungen an Webanwendungen gestellt. Die schnelle und effiziente Erstellung von Webanwendungen ist für Entwickler zu einem dringenden Bedarf geworden. Die dynamischen Eigenschaften, die effizienten Ausführungsmöglichkeiten und die umfangreichen Web-Frameworks von Golang sind für viele Entwickler zur ersten Wahl geworden. Unter den vielen Golang-Webframeworks ist beego ein schnelles, prägnantes, effizientes und benutzerfreundliches Webframework. Es basiert auf dem nativen HTTP-Paket von Go, verfügt über RESTful-Unterstützung, MVC-Modus und wird mit ORM und geliefert

Ein API-Gateway ist ein Netzwerkdienst, der zum Verwalten und Weiterleiten von API-Anfragen (Application Programming Interface) verwendet wird. Dabei handelt es sich um einen Vermittler, der Kundenanfragen entgegennimmt und diese an den Backend-Dienst weiterleitet. Der Vorteil eines API-Gateways besteht darin, dass es eine konsistente Schnittstelle für mehrere Dienste bereitstellen und Funktionen wie Sicherheit und Überwachung bereitstellen kann. In diesem Artikel implementieren wir ein API-Gateway mithilfe des Iris-Frameworks von Golang. Das Iris-Framework ist ein leistungsstarkes Web-Framework, das einfach, schnell, leicht skalierbar und wartbar ist. Iris-Box
