Flask服务器的400 Bad Request错误反应套接字的客户端

时间:2019-09-25 05:47:20

标签: reactjs flask socket.io flask-cors

尝试在烧瓶服务器和reactjs客户端之间创建一个socketio链接。它显示此错误

“ CORS策略已阻止从源“ http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=MrcruFC”访问“ http://localhost:3000”处的XMLHttpRequest:请求的资源上没有“ Access-Control-Allow-Origin”标头。

我尝试从flask cors文档中包含CORS,但仍然无法正常工作。

服务器:

from flask import Flask, Response
from flask_cors import CORS
from flask_socketio import SocketIO

app = Flask(__name__)
cors = CORS(app)
socketio=SocketIO(app)


@socketio.on('connection')
def handle_my_custom_event():
    socket.emit('outgoing data',{num: '10'})

@app.route("/")
def hello():
    return 'Hello'

if __name__ == '__main__':
    socketio.run(app, host='0.0.0.0', port=5000)

2 个答案:

答案 0 :(得分:1)

您可以添加用于创建SocketIO的选项。

socketio = SocketIO(app=app, cors_allowed_origins='*')

答案 1 :(得分:-1)

您可以使用以下标头允许CORS:

header = response.headers
header['Access-Control-Allow-Origin'] = '*'