高性能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测试

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Buffalo ialah rangka kerja web yang dibangunkan menggunakan Golang yang menyediakan penyelesaian untuk pembangunan pesat aplikasi web. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Buffalo untuk membina aplikasi web. Memasang Buffalo Mula-mula, kita perlu memasang Buffalo secara tempatan. Buffalo menyediakan alat baris arahan yang mudah untuk anda membina dan menjalankan aplikasi. Sebelum memasang, pastikan anda memasang Golang dan Node.js. Berlari

Artikel ini akan berkongsi dengan anda rangka kerja web Nodejs: Fastify Ia akan memperkenalkan secara ringkas ciri yang disokong oleh Fastify, pemalam yang disokong oleh Fastify, dan saya harap ia akan membantu semua orang.

Memandangkan permintaan untuk pembangunan web terus meningkat, rangka kerja web dalam pelbagai bahasa dipelbagaikan secara beransur-ansur, dan bahasa Go tidak terkecuali. Di antara banyak rangka kerja web dalam bahasa Go, gin, echo dan iris ialah tiga rangka kerja yang paling popular. Dalam artikel ini, kami akan membandingkan kebaikan dan keburukan ketiga-tiga rangka kerja ini untuk membantu anda memilih rangka kerja yang sesuai untuk projek anda. Gingin ialah rangka kerja web ringan yang menampilkan prestasi tinggi dan fleksibiliti. Ia menyokong fungsi middleware dan penghalaan, yang menjadikannya ideal untuk membina RESTful

Rangka kerja web telah menjadi bahagian penting dalam pembangunan aplikasi web moden, menyediakan infrastruktur yang membolehkan pembangun mencipta dan menggunakan aplikasi mereka dengan lebih pantas. Dalam pembangunan PHP, Slim ialah rangka kerja web ringan yang terkenal dengan kemudahan penggunaan dan pembangunan pesat. Artikel ini akan menunjukkan kepada anda cara membuat aplikasi web yang ringkas tetapi berkuasa menggunakan PHP dan Slim. Apa itu Slim? Slim ialah rangka kerja web ringan yang ditulis dalam bahasa PHP

Sebab ralat adalah dalam python Sebab mengapa NotImplementedError() dilemparkan dalam Tornado mungkin kerana kaedah atau antara muka abstrak tidak dilaksanakan. Kaedah atau antara muka ini diisytiharkan dalam kelas induk tetapi tidak dilaksanakan dalam kelas anak. Subkelas perlu melaksanakan kaedah atau antara muka ini untuk berfungsi dengan baik. Cara menyelesaikan masalah ini adalah dengan melaksanakan kaedah abstrak atau antara muka yang diisytiharkan oleh kelas induk dalam kelas kanak-kanak. Jika anda menggunakan kelas untuk mewarisi daripada kelas lain dan anda melihat ralat ini, anda harus melaksanakan semua kaedah abstrak yang diisytiharkan dalam kelas induk dalam kelas anak. Jika anda menggunakan antara muka dan anda melihat ralat ini, anda harus melaksanakan semua kaedah yang diisytiharkan dalam antara muka dalam kelas yang melaksanakan antara muka. Jika anda tidak pasti yang mana

Bahasa Go telah menjadi semakin popular dalam bidang pembangunan web sejak beberapa tahun kebelakangan ini. Di satu pihak, ciri prestasi dan keselarasannya adalah sangat baik, dan ia sangat sesuai untuk mengendalikan permintaan Web yang sangat serentak, sebaliknya, kecekapan pembangunannya telah bertambah baik secara beransur-ansur, dan semakin banyak rangka kerja dan alat pembangunan Web telah dilancarkan. Artikel ini terutamanya akan memperkenalkan kandungan yang berkaitan untuk membangunkan rangka kerja web dan perkhidmatan web dalam bahasa Go. Sama ada anda seorang pemula dalam pembangunan web atau pembangun yang mempunyai sedikit pengalaman, anda boleh mempelajari tentang pengetahuan dan teknik pembangunan web yang berkaitan dalam bahasa Go melalui artikel ini.

Gerbang API ialah perkhidmatan rangkaian yang digunakan untuk mengurus dan menghalakan permintaan API (Antara Muka Pengaturcaraan Aplikasi). Ia adalah perantara yang menerima permintaan pelanggan dan memajukannya ke perkhidmatan hujung belakang. Manfaat get laluan API ialah ia boleh menyediakan antara muka yang konsisten untuk berbilang perkhidmatan dan menyediakan ciri seperti keselamatan dan pemantauan. Dalam artikel ini, kami akan melaksanakan get laluan API menggunakan rangka kerja web Golang Iris. Rangka kerja Iris ialah rangka kerja web berprestasi tinggi yang direka bentuk untuk ringkas, pantas, mudah berskala dan boleh diselenggara. Kotak iris

Dengan pembangunan dan pempopularan teknologi Internet, semakin banyak permintaan untuk aplikasi Web Membina aplikasi Web dengan cepat dan cekap telah menjadi keperluan mendesak untuk pembangun. Ciri dinamik Golang, keupayaan pelaksanaan yang cekap dan rangka kerja web yang kaya telah menjadi pilihan pertama bagi kebanyakan pembangun. Di antara banyak rangka kerja web Golang, beego ialah rangka kerja web yang pantas, ringkas, cekap dan mudah digunakan Ia bergantung pada pakej HTTP asli Go, mempunyai sokongan RESTful, mod MVC dan disertakan dengan ORM dan
