簡體   English   中英

無法通過發布請求將授權令牌發送到Flask API

[英]Can't send authorization token to flask api with post request

我正在使用flask使用python編寫的API,但是在發送帶有授權的發布請求時遇到問題。 我正在使用axios發出請求。

我幾乎嘗試了在此鏈接上找到的所有內容[ 解決與Flask的跨源資源共享 ]

from flask import Flask, request, jsonify
from flask_cors import CORS, cross_origin

app = Flask(__name__)
CORS(app, resources={r"/*": {"origins": "*"}})

@app.route("/test", methods=["POST","GET"])
# @cross_origin is commented for the get request
@cross_origin(methods=["POST"], allow_headers=['Content-
def test():
    return jsonify({'success':True})

if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True)
// change post to get
axios.post('http://localhost:5000/test', {
  // withCredentials: true,
  headers: {
    'Access-Control-Allow-Headers': 'Authorization',
    'Authorization': 'token'
  }
})
.then((response) => {
  console.log(response);
})
.catch((error) => {
  console.log(error);
});

當我使用get但不發布時,授權令牌出現在標題中

獲取請求: https : //i.imgur.com/2COOjbj.png

發布請求: https//i.imgur.com/eWaFceS.png

編輯(已解決?)

並不是真正的解決方案,但我改用fetch並解決了我的問題,但我不知道為什么會首先發生

您只需要使用http://localhost:5000/test更改* ,就應該允許訪問特定的域。

另一種方法是使用默認參數初始化flask-cors

from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM