Ошибка CORS в Angular - flask на основе socketIO - PullRequest
0 голосов
/ 11 июля 2020

Я работаю над проектом, в котором приложение на основе Angular должно взаимодействовать с Flask через Socket.IO. мой код flask выглядит следующим образом:


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

import json

app = Flask(__name__)
CORS(app)
#app.config['SECRET_KEY'] = 'vnkdjnfjknfl1232#'

socketio = SocketIO(app)

@app.route('/')
def sessions():
    return render_template('index.html')


def messageReceived(methods=['GET', 'POST']):
    print('message was received!!!')

@socketio.on('my event')
def handle_my_custom_event(json, methods=['GET', 'POST']):
    json["user_name"]='Asad'
    json["user_input"]='My Server'
    print('received my event: ' + str(json))
    socketio.emit('my response', json, callback=messageReceived)


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

когда я пытаюсь загрузить свой проект Angular, он сразу показывает ошибку, связанную с CORS. Я попытался установить Moesif Origin и CORS Changer и включить CORS в код сервера, как видно, но без улучшений. Код Angular взят из [https://tutorialedge.net/typescript/angular/angular-socket-io-tutorial/] [1]

, однако я не использую сервер websocket, показанный в этом руководстве, поскольку используется сервер со стороны Flask:

Показанная ошибка: Запрос на перекрестный запрос заблокирован: та же политика происхождения запрещает чтение удаленного ресурса по адресу http://localhost: 5000 / socket.io /? EIO = 3 & transport = polling & t = NCws9C7. (Причина: запрос CORS не выполнен). [1]: https://tutorialedge.net/typescript/angular/angular-socket-io-tutorial/

1 Ответ

0 голосов
/ 11 июля 2020

У меня был аналогичный опыт работы с CORS, и это произошло потому, что я неправильно настроил свою установку.

Подсказки: проверьте файл конфигурации прокси-сервера проверьте ключ конфигурации прокси

вы можете прочитать этот дайджест

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...