Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JWT头和JSON数据请求API Flask Restful_Json_Flask_Request_Jwt_Restful Authentication - Fatal编程技术网

使用JWT头和JSON数据请求API Flask Restful

使用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

我试图从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_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
请求的请求主体是不标准的。)但是你试过我的建议了吗?这似乎更简单。对于那些感到困惑的人来说,我之前的评论是对一条后来被删除的评论的回应。:-)我很抱歉把它删掉了,我把它发表得更清楚了