Python开发 之 Python3用Tornado实现get或post请求示例
原创
©著作权归作者所有:来自51CTO博客作者wx635f8a025188b的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
- 1、简述
- 2、如何提供get和post API
- 3、效果
- 3.1 get
- 3.2 post
- 3.3 浏览器访问get请求
1、简述
近日,有小伙伴咨询python是如何快速封装API接口的问题。因此,写下此文。
2、如何提供get和post API
# -*- coding:utf8 -*-
import tornado.ioloop
import tornado.web
import tornado.httpserver
from tornado.escape import json_encode
def set_default_header(self):
# 后面的*可以换成ip地址,意为允许访问的地址
self.set_header('Access-Control-Allow-Origin', '*')
self.set_header('Access-Control-Allow-Headers', 'x-requested-with')
self.set_header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE')
class ArticleList(tornado.web.RequestHandler):
def get(self):
set_default_header(self)
arr = self.get_argument("arr")
if arr:
print('arr = ', arr, type(arr))
arr = eval(arr) # 字符转列表
print('arr = ', arr, type(arr))
result = {
"name": arr,
'code': 0 if len(arr) > 0 else 1
}
self.write(json_encode(result))
def make_app():
return tornado.web.Application([
(r"/setArticleList", ArticleList),
])
if __name__ =="__main__":
app = make_app()
sockets = tornado.netutil.bind_sockets(9088)
http_server = tornado.httpserver.HTTPServer(app)
http_server.add_sockets(sockets)
print("Server Start Ok.....")
tornado.ioloop.IOLoop.instance().start()
3、效果
3.1 get
3.2 post
3.3 浏览器访问get请求
4、注:tornado设置跨域全局请求头
def set_default_header(self):
# 后面的*可以换成ip地址,意为允许访问的地址
self.set_header('Access-Control-Allow-Origin', '*')
self.set_header('Access-Control-Allow-Headers', 'x-requested-with')
self.set_header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE')