原创

Python开发 之 Python3用Tornado实现get或post请求示例

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://shazhenyu.blog.csdn.net/article/details/84544331

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') 
文章最后发布于: 2018-11-26 15:09:55
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览