tornado跨域之get、post请求

# -*- coding:utf-8 -*-
import tornado.web
from tornado import gen
from tornado import options
from tornado.ioloop import IOLoop
from tornado.httpserver import HTTPServer
from tornado.web import Application, RequestHandler

class BaseHandler(RequestHandler):
    """
    前后端分离,解决跨域问题
    """
    def set_default_headers(self):
        self.set_header("Access-Control-Allow-Origin", "*")
        self.set_header("Access-Control-Allow-Headers", "*")#这里要填写上请求带过来的Access-Control-Allow-Headers参数,如access_token就是我请求带过来的参数
        self.set_header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE") #请求允许的方法
        self.set_header("Content-Type", "application/json") #设置数据返回格式json
        self.set_header("Access-Control-Max-Age", "3600")#用来指定本次预检请求的有效期,单位为秒,,在此期间不用发出另一条预检请求。

    def options(self):
        self.set_status(200) 
        self.finish()


class Test(BaseHandler):

    @gen.coroutine
    def get(self):
        # 获取get方式的参数
        user = self.get_query_argument("user",default=None,strip=True)
        # 业务相关代码
        self.write("真帅")
        print("get方式获取参数:" + str(user))


    def post(self):
        # 获取post方式的参数
        users = self.get_body_argument("users",default=None,strip=True)
        print("post方式获取参数:" + str(users))

options.define(
    name="port",
    default=8888,
    type=int,
    help=None,
    metavar=None,
    multiple=False,
    group=None,
    callback=None
)

class Main(object):
    def start(self):
        app = Application(
            [
                (r"/test/", Test),
            ]
        )
        http_server = HTTPServer(app)  		# http_server实现多进程操作
        #http_server.start(2)  				# 设置启动多少个进程
        tornado.options.options.parse_command_line()
        app.listen(options.options.port) 	# 端口
        IOLoop.current().start()  			# 启动Ioloop轮循监听

if __name__ == "__main__":
    l= Main()
    l.start()

# get 请求
# 请求   http://127.0.0.1:8888/test/?user=xiaoming
# post的同理拿postman测试即可
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值