Flask 使用蓝图 出现308

我的代码如下

import json
from flask import Blueprint
import psutil

cpu = Blueprint('cpu',__name__)
@cpu.route('/', methods=['GET'])
def CPU_get():
    #获取CPU信息
    cpu_percent = psutil.cpu_percent(interval=1)
    memory_percent = psutil.virtual_memory().percent
    disk_percent = psutil.disk_usage('/').percent
    data = {'CPUpercent': cpu_percent, 'memorypercent': memory_percent, 'diskpercent': disk_percent}
    postdata = json.dumps(data, sort_keys=True, indent=4, separators=(',', ': '))
    return postdata

用postman调试时总是会出现308

但是出现308后又能成功响应200

一开始没在意,但是后来问题就暴露出来了,用postman传大文件时,有时成功有时失败,后来观察发现响应信息的路由后面多了一个斜杠。

解决方法很简单,去掉斜杠就行

import json
from flask import Blueprint
import psutil

cpu = Blueprint('cpu',__name__)
@cpu.route('', methods=['GET'])#去掉此处斜杠
def CPU_get():
    #获取CPU信息
    cpu_percent = psutil.cpu_percent(interval=1)
    memory_percent = psutil.virtual_memory().percent
    disk_percent = psutil.disk_usage('/').percent
    data = {'CPUpercent': cpu_percent, 'memorypercent': memory_percent, 'diskpercent': disk_percent}
    postdata = json.dumps(data, sort_keys=True, indent=4, separators=(',', ': '))
    return postdata

因为在本例中的路由为http://<sever>/cpu,如果有斜杠,实际路由就变为了http://<sever>/cpu/(尾部多了一个斜杠),所以当用http://<sever>/cpu访问时,导致出现308重定位。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值