将 JavaScript 通过 websockets 发送的最后一个字符剥离到 Python
Posted
技术标签:
【中文标题】将 JavaScript 通过 websockets 发送的最后一个字符剥离到 Python【英文标题】:Strip the last character sent by JavaScript through websockets to Python 【发布时间】:2010-07-25 22:08:29 【问题描述】:我目前正在尝试 websockets,用 javascript 创建一个客户端,用 Python 创建一个服务器。
不过,我遇到了一个简单的问题:当我从客户端向服务器发送内容时,它总是包含一个特殊的结束字符,但我不知道如何删除它。
我试过 data[:-1]
认为可以摆脱它,但它没有。
使用该字符,我的 JSON 代码将无法验证。
这是我通过 JavaScript 发送的:
ws.send('"test":"test"');
这是我在 python 中得到的:
"test":"test"�
我以为结尾字符是\xff
【问题讨论】:
我们能看到一些代码 sn-ps 吗? 通过 AJAX 发布时我们可以看到您的标题吗? WebSocket 规范仍在不断变化中。您的实现可能使用的是旧版本的规范,它与新版本不是 100% 向前兼容。检查以确保如果您使用的是库,则使用的是最新版本。 【参考方案1】:表达式“data[:-1]”是一个生成缺少最后一个字符的数据副本的表达式。它不会修改“数据”变量。为此,您必须分配回“数据”,如下所示:
data = data[:-1]
我怀疑“特殊结尾字符”是一个错误,在某个地方,无论是在您的代码中还是在您使用 API 的方式中。网络代码一般不会将随机字符引入数据流。祝你好运!
【讨论】:
以上是关于将 JavaScript 通过 websockets 发送的最后一个字符剥离到 Python的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 或 JavaScript 获取到 WhatsApp 的 websocket 连接?
通过 Websocket 用 Python 控制 Javascript/CSS 元素?
我将如何在 Javascript 中通过 WebSocket 发送和接收数据包