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

文章目录

  • 1、简述
  • 2、如何提供get和post API
  • 3、效果
    • 3.1 get
    • 3.2 post
    • 3.3 浏览器访问get请求
  • 4、注:tornado设置跨域全局请求头

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

Python开发 之 Python3用Tornado实现get或post请求示例_第1张图片

3.2 post

Python开发 之 Python3用Tornado实现get或post请求示例_第2张图片

3.3 浏览器访问get请求

Python开发 之 Python3用Tornado实现get或post请求示例_第3张图片
Python开发 之 Python3用Tornado实现get或post请求示例_第4张图片

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') 

你可能感兴趣的:(//Python)