如何修复 python socket-io 服务器中的“Access-Control-Allow-Origin”错误

2023-11-27

我正在创建一个使用 Vue.js (作为客户端)和 Python (作为服务器)的项目。 Python用于一些计算,Vue.js用于接口。我使用 python-socketio 连接它们(https://python-socketio.readthedocs.io/en/latest/) 和 Vue-socket.io (https://github.com/MetinSeylan/Vue-Socket.io)。几周前,它运行得很好。连接和通信成功进行。但几天前,我尝试再次运行相同的代码,出现以下错误:

► Access to XMLHttpRequest at shttp://localhost:2003/socket.io/?EI0.38transport.polling&t=Mom6k2V' from origin 'http://1 :1 ocalhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 
► GET http://localhost:2003/socket.io/?EI0=3&transport=polling&t=Mom6k2V net::ERR FAILED vue-socketio.js?5132:8

我尝试使用我确信可以正常工作的旧存储库,但我遇到了同样的问题。

我尝试在另一台计算机和 Raspberry Pi 中运行相同的代码,但遇到了同样的问题。

我尝试使用 --disable-web-security 运行 chrome 以禁用 cors,但出现以下错误:

► WebSocket connection to 'ws://localhost:2003/socket.io/? vue-socketio.js?5132:10 EI0.3&transport=websocket&sid=7111830544fa4dfd98c3424afd25c10e failed: Error during WebSocket handshake: Unexpected response code: 400 

Server

# -*- coding: utf-8 -*-
import eventlet
import socketio
import numpy as np
import json
import serial
import threading
from scipy.integrate import odeint

sio = socketio.Server()
app = socketio.WSGIApp(sio, static_files={
    '/': {'content_type': 'text/html', 'filename': 'index.html'}
})

@sio.on('connect')
def connect(sid, env):
    print('conectado ', sid)

@sio.on('disconnect')
def disconnect(sid):
    print('desconectado ', sid)

# Other functionalities in the code 
#...

if __name__ == '__main__':
    print('Inicnando...')
    thread = threading.Thread(target=leitura_dados, args=(ser,))
    thread.start()
    eventlet.wsgi.server(eventlet.listen(('', 2003)), app)

客户端中的连接

Vue.use(new VueSocketIO({
  debug: false,
  connection: 'http://localhost:2003'
}))

我希望它能像以前一样工作。没有任何 CORS 错误或握手过程中的错误。我不知道为什么它突然停止工作。


更深入地研究文档(https://python-socketio.readthedocs.io/en/latest/api.html?highlight=cors#server-class)我终于找到了答案。 代替:

sio = socketio.Server()

Use

sio = socketio.Server(cors_allowed_origins='*')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修复 python socket-io 服务器中的“Access-Control-Allow-Origin”错误 的相关文章

  • 如何在 Matplotlib 饼图周围绘制箭头以将每个标签指向圆圈中各自的部分?

    我一直在用 Matplotlib 绘制一些图表 我有一个饼图 想要在图表周围绘制箭头 使每个标签都指向图表 我有一个例子 这是我当前的代码 import matplotlib pyplot as plt plt rcParams font
  • 在 Celery 任务中调用 Google Cloud API 永远不会返回

    我正在尝试拨打外部电话Google Cloud Natural Language API从一个内Celery任务 使用google cloud python包裹 问题是对 API 的调用永远不会返回 挂起 celery task def g
  • 可以访问每个套接字的 TCP 统计数据/信息吗? (C/C++)

    我需要一些信息 例如我创建的特定 TCP 套接字发生的重新发送包 数据包丢失的数量 有人知道如何直接从我的 C C 程序访问或请求此类信息吗 也许是 Linux 特有的东西 或者我是否需要 作为解决方法 捕获和分析我自己的流量 提前致谢 通
  • 多输出堆叠回归器

    一次性问题 我正在尝试构建一个多输入堆叠回归器 添加到 sklearn 0 22 据我了解 我必须结合StackingRegressor and MultiOutputRegressor 经过多次尝试 这似乎是正确的顺序 import nu
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • 更好地相当于这个疯狂的嵌套 python for 循环

    for a in map for b in map a for c in map b for d in map c for e in map d print a b c d e 上面的代码用于创建图中一定长度的所有路径 map a 表示从
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • 如何使用 Selenium 和 ChromeDriver 解决 TypeError: 'module' object is not callable 错误 [重复]

    这个问题在这里已经有答案了 代码试验 from selenium import webdriver from selenium webdriver chrome options import Options as Chromeoptions
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • Django 视图中的“请求”是什么

    在 Django 第一个应用程序的 Django 教程中 我们有 from django http import HttpResponse def index request return HttpResponse Hello world
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视
  • NLTK:查找单词大小为 2k 的上下文

    我有一个语料库 我有一个词 对于语料库中该单词的每次出现 我想获取一个包含该单词之前的 k 个单词和该单词之后的 k 个单词的列表 我在算法上做得很好 见下文 但我想知道 NLTK 是否提供了一些我错过的功能来满足我的需求 def size

随机推荐

  • WPF 将 StackPanel 的宽度从 0 动画到自动?

    我正在尝试在 StackPanel 的可见性从宽度 0 变为自动宽度时对其进行动画处理 这是我目前所拥有的
  • 使用 R 创建起点-终点矩阵

    我的数据框由个人和他们在某个时间点居住的城市组成 我想每年生成一个出发地 目的地矩阵 记录从一个城市到另一个城市的移动次数 我想知道 如何自动生成数据集中每年的出发地 目的地表 如何生成相同 5x5 格式的所有表格 5 是我的示例中的城市数
  • 基于 Spring-Boot 模块的集成测试

    我有一个多模块 Spring Boot 项目 我想知道如何设置集成测试来测试 Spring Data JPA 存储库 以下方法因此异常而失败 HV000183 无法加载 javax el E xpressionFactory 检查类路径上是
  • 致命错误 Varien_Autoload 未找到

    今天是个好日子 我使用示例数据安装了 magento 刷新了页面 一切似乎都正常 我的整个商店充满了样本数据 几分钟后我再次刷新 从那以后我不断收到此错误 PHP 致命错误 在第 53 行 var www vhosts shop cyber
  • libvlc 流屏幕的一部分

    我想使用 vlc 库流式传输屏幕的一部分 我写了一个小例子 include
  • DialogFragment 和 onDismiss

    我正在使用一个DialogFragment 我是这样展示的Activity DialogFragmentImage dialog DialogFragmentImage newInstance createBitmap dialog onD
  • 将 Java2D 保存为 SWF(闪存)

    我正在尝试将 Java2D 中绘制的矢量图像的输出保存到 SWF 文件中 有很多很棒的库可以将 java2D 输出保存为 SVG BATIK 和 PDF itext 等内容 但我找不到 SWF 库 有任何想法吗 我刚刚得到一个使用的示例雪碧
  • PHP:从链接标题中删除“http://”

    我有一个看起来像这样的字符串 string a href http google com http google com a 我怎样才能删除http 部分来自链接文本 但将其保留在 href 属性中 如果不使用完整的解析器 这可能在大多数情
  • 为什么 Rust 忽略 &str 的生命周期检查?

    fn main let strA a let result let strB abc result longest strA strB Will return strB println The longest string is resul
  • Aptana 1.5“svn:解决大小写错误”

    我今天安装了 Aptana 1 5 但是安装后 当我尝试提交 更新 修复等时 我的所有 SVN 项目都会出现这样的错误 Access is denied svn Error resolving case of C Users Brayn M
  • 如何添加标记 onClick 并在 google-maps-react 中显示我的地理位置?

    我在谷歌地图文档上发现了很多有用的信息 但在 html 中简单使用 js 以防万一react老实说我不明白 源代码 import React Component from react import Map InfoWindow Marker
  • C、C++、C#、Java 和 Python 中的声明、定义和初始化 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 上述每种语言中的术语含义是什么 为什么这些语言在这方面有所不同 无论它们在哪里 如果有的
  • Google 地图距离和方向 API 之间的区别

    Google 为 1 距离矩阵和 2 方向服务提供 API 我试图搜索1和2之间的区别 我的任务是 当用户从源移动S到目的地D使用某种路径 我们需要展示用户实际走过的路径 在谷歌地图上 实现它的最佳方法是什么 使用 1 距离矩阵 API 或
  • jQuery 自动完成:移动列表位置?

    我想知道是否可以将下拉列表向下移动 4px 我尝试过多种风格 ui autocomplete 包括 margin top 4px top 4px 但它似乎不起作用 接受的答案是不再有效因为the offset该选项在 jQuery UI v
  • 如何从控制台中的标准输入读取内容?

    我想从命令行读取标准输入 但我的尝试已经结束 程序在提示我输入之前就退出了 我正在寻找相当于控制台 ReadLine in C 这就是我目前所拥有的 package main import bufio fmt os func main re
  • 使用 python3.6 进行 Django 迁移错误:根:未找到哈希 sha3_224 的代码

    你好我读过Django 教程我有一个与特定相关的错误sha3 224迁移过程中的哈希函数 如何解决这个问题呢 谢谢 venv linuxoid linuxoid ThinkPad L540 myprojects myproject pyth
  • 使用 INDEX 和 MATCH 在表数组中进行两列查找

    我希望 Excel 显示具有两个匹配单元格的表数组中的值com cd and div cd using INDEX and MATCH 我尝试过以下公式 但它不起作用 INDEX K9 K53 MATCH K3 I9 I53 0 MATCH
  • 在 data.table 列中使用列表

    In data table可能有类型的列list我第一次尝试从这个功能中受益 我需要存储表的每一行dt一些来自 rApache Web 服务的评论 每个评论都会有一个用户名 日期时间和正文项 不要使用带有一些奇怪 不寻常的字符的长字符串来将
  • Android + OpenCV:使用CameraBridgeViewBase时如何设置相机分辨率

    您好 我正在使用 OpenCV4Android 人脸检测示例 我想知道如何获得相机的分辨率并将其设置为其他值 在此示例中 CameraBridgeViewBase 我在对象上看到了这一点 private CameraBridgeViewBa
  • 如何修复 python socket-io 服务器中的“Access-Control-Allow-Origin”错误

    我正在创建一个使用 Vue js 作为客户端 和 Python 作为服务器 的项目 Python用于一些计算 Vue js用于接口 我使用 python socketio 连接它们 https python socketio readthe