我在 Flask 中开发了一个 API,并使用了基本的身份验证令牌。当我使用 curl 测试此 API 时,不记名令牌被接受并且 API 正在工作。但是在 python 请求中使用时,它显示 401 错误。
用于 Flask API 的 Python 代码:
@app.route('/api/resource')
@auth.login_required
def get_resource():
return
Run Code Online (Sandbox Code Playgroud)
jsonify({'data': 'Hello, %s!' % g.user.username.title()})
使用 curl 测试工作正常:>
curl -u eyJhbGciOiJIUzI1NsdfCI6MTUzMDc5MDIzNCwiZXhwIjoxNT
MwNzkwODM0fQ.eyJpZCsf.jKiafmv-qrvAxVo7UKQuohS2vkF-9scpuqsKRuw:sp -i -X GET
http://127.0.0.1:5000/api/resource
HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 32
Server: Werkzeug/0.14.1 Python/3.6.4
Date: Thu, 05 Jul 2018 11:33:22 GMT
{ "data": "Hello, FlaskAPI!"}
Run Code Online (Sandbox Code Playgroud)
使用 API 的 Python 代码:
import requests
url = "http://127.0.0.1:5000/api/resource"
headers = {
'Content-Type': "application/json",
'Authorization': "Bearer eyJhbGciOiJIUzI1NiIsImlhsfsdfsdzNCwiZXhwIjoxNTMwNzksdfsdsdRF.eyJpZCI6MX0.YhZvjKiafmv-qrvAxVo7UKQuohS2vkF-9scpuqsKRuw" …
Run Code Online (Sandbox Code Playgroud)