【问题标题】:GET /socket.io/?EIO=3&transport=polling&t=MniHjPM HTTP/1.1GET /socket.io/?EIO=3&transport=polling&t=MniHjPM HTTP/1.1
【发布时间】:2019-12-15 06:14:40
【问题描述】:

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

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

【问题讨论】:

    标签: python flask flask-socketio


    【解决方案1】:

    当前版本的 Flask-SocketIO 对跨域请求有更严格的要求。 添加cors_allowed_origins='https://localhost 将解决该错误。
    IE。 SocketIO(app,cors_allowed_origins="http://localhost")
    SocketIO(app,cors_allowed_origins="*") 希望能成功。

    【讨论】:

    • 耶!有效。这是正确的答案。非常感谢。
    • 嗨,@Mamun,我仍然有同样的问题。我添加了 cors_allowed_origin 但我仍然收到连续消息,如问题所示:/ 你能帮忙吗?
    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 2021-07-09
      • 2019-11-23
      • 1970-01-01
      • 2017-09-04
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 2017-02-25
      • 2015-11-01
      相关资源
      最近更新 更多