gpt4 book ai didi

utf-8 - WebSocket - Safari 9 - header 值中的 UTF-8 序列无效

转载 作者:行者123 更新时间:2023-12-01 03:36:07 28 4
gpt4 key购买 nike

我正在创建一个适用于 Chrome 版本 47.0.2526.106(64 位)但在 Safari 版本 9.0.2(11601.3.9)上失败的 WebSocket。错误是 Invalid UTF-8 sequence in header value .似乎 Safari 需要包含某些 header 并采用某些格式,但我找不到哪个 header 。

我用的是开源WebSocketHandshake线

if (valueStr.isNull()) {
m_context->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, "invalid UTF-8 sequence in header value", 0, clientOrigin(), 0);
return 0;
}

请求如下:

一般
Request URL:wss://example.server.io/query?string=test
Request Method:GET
Status Code:101 Switching Protocols

响应头
Connection:Upgrade
Sec-WebSocket-Accept:R3JnbOI454z48aMONLd+8HP6Asg=
Set-Cookie:
Upgrade:websocket

请求头
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,fr;q=0.6,fr-CA;q=0.4
Cache-Control:no-cache
Connection:Upgrade
DNT:1
Host:example.server.io
Origin:http://localhost:3000
Pragma:no-cache
Sec-WebSocket-Extensions:permessage-deflate; client_max_window_bits
Sec-WebSocket-Key:QUuX6/L23NIezYa4aZJbFw==
Sec-WebSocket-Version:13
Upgrade:websocket
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36

查询字符串参数
string:test

最佳答案

Safari/WebKit 不喜欢空标题。在这种特殊情况下,问题是空 Set-Cookie:标题。这是 Webkit 中的一个错误。
Chrome 也有这个问题,但他们在 Blink 中修复了它。
在服务器响应中删除该 header ,它应该可以工作。

关于utf-8 - WebSocket - Safari 9 - header 值中的 UTF-8 序列无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34679134/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com