我的代码如下
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重定位。