获取 /socket.io/?EIO=3&transport=polling&t=MniHjPM HTTP/1.1

GET /socket.io/?EIO=3&transport=polling&t=MniHjPM HTTP/1.1

提问人:siopaoman 提问时间:8/7/2019 最后编辑:eyllanescsiopaoman 更新时间:3/3/2021 访问量:8222

问:

我有一个简单的 Flask 聊天应用程序,我正在通过教程进行测试。据说我只需要使用“python app.py”命令运行它,但是当我通过 http://localhost:5000 访问它时,我收到一条连续的消息:

Console

我希望能得到 200 个。我已经安装了 Flask、Flask-SocketIO 和 eventlet。有什么想法可以为我指明正确的方向吗?谢谢。

python 烧瓶 flask-socketio

评论


答:

13赞 Mamun 8/9/2019 #1

当前版本的 Flask-SocketIO 对跨域请求有更严格的要求。 添加将解决该错误。
即 或者
希望这项工作。
cors_allowed_origins='https://localhostSocketIO(app,cors_allowed_origins="http://localhost")SocketIO(app,cors_allowed_origins="*")

评论

1赞 siopaoman 8/9/2019
耶!成功了。这是正确答案。非常感谢。
2赞 5/25/2021
嗨,@Mamun,我仍然有同样的问题。我添加了cors_allowed_origin但我仍然收到持续的消息,如问题所示:/ 你能帮忙吗?
2赞 jlee7 3/3/2021 #2

Flask-SocketIO 文档中的代码也为我产生了相同的错误。 但是,此示例代码没有(也在调试模式下):https://github.com/miguelgrinberg/Flask-SocketIO

在这两种情况下,上述修复程序都不包括在内。 更改 HTML 脚本标签很有帮助。

从:

<script src="//cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js" integrity="sha256-yr4fRk/GU1ehYJPAs8P4JlTgu0Hdsp4ZKrx8bDEDC3I=" crossorigin="anonymous"></script>

自:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/3.0.4/socket.io.js" integrity="sha512-aMGMvNYu8Ue4G+fHa359jcPb1u+ytAF+P2SCb+PxrjCdO3n3ZTxJ30zuH39rimUggmTwmh2u7wvQsDTHESnmfQ==" crossorigin="anonymous"></script>