使用JWT头和JSON数据请求API Flask Restful
我试图从python中执行以下操作: 这项工作:使用JWT头和JSON数据请求API Flask Restful,json,flask,request,jwt,restful-authentication,Json,Flask,Request,Jwt,Restful Authentication,我试图从python中执行以下操作: 这项工作: curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X GET -d "{\"Dato\":\"1\"}" http://localhost:5000/api/v1/recurso -H " Authorization: JWT ...p_GWs2XOAY" 我的资源: class RecursoPrivado(Resource): @jwt
curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X GET -d "{\"Dato\":\"1\"}" http://localhost:5000/api/v1/recurso -H " Authorization: JWT ...p_GWs2XOAY"
我的资源:
class RecursoPrivado(Resource):
@jwt_required()
def get(self):
json_data = request.get_json(force=True)
#data = json.loads(json_data)
return json_data
api.add_resource(RecursoPrivado, '/recurso')
我试过了,但得到了回应[401]
url = 'http://localhost:5000/api/v1/recurso'
data={"Dato":"1"}
token="...p_GWs2XOAY"
response=requests.get(url, data=data, headers={'Authorization':'JWT '+token})
有什么想法吗
response = requests.get(url, data=data, headers={'Authorization': 'JWT '+token})
应该是这样的:
response = requests.get(url, json=data, headers={'Authorization': 'JWT '+token})
您当前发送的是表单编码的数据,而不是JSON编码的数据。请尝试
JSON=data
。现在您正在发送表单编码的数据。顺便说一句,包含带有GET
请求的主体有些不标准。请考虑使用<代码> POST > /Code >请求。该代码应该工作得很好,但是您需要更改<代码>请求。将< <代码> > <代码>请求。获取。(我想那个工具搞错了,因为包含带有GET
请求的请求主体是不标准的。)但是你试过我的建议了吗?这似乎更简单。对于那些感到困惑的人来说,我之前的评论是对一条后来被删除的评论的回应。:-)我很抱歉把它删掉了,我把它发表得更清楚了