HarmonyOS websocket链接时,请求头中添加cookie信息时,发生崩溃或无法带上Cookie信息

按照文档中的写法,或者将Map转换为Object传递进来,都会有运行时crash,报错信息如下Error message:Obj is not a Valid object,

// 该写法发生Error message:Obj is not a Valid object崩溃,
const cookie = this.setupCookie(); // 获取到的Cookie是一个字符串
// 将cookie信息添加到websocket的http请求头中
let options: webSocket.WebSocketRequestOptions;
const map = new Map<string, string>();
map.set('Cookie', cookie);
options.header = map;
this.websocket.connect(url, options);

// 该写法是HarmonyOS文档中的写法,也会发生崩溃
let options: webSocket.WebSocketRequestOptions;
options.header = {
  Cookie: cookie
};
this.websocket.connect(url, options);

或按照https://ost.51cto.com/answer/12241帖子中评论的下发无法带上Cookie信息

let header: Map<string, string> = new Map();
header.set("Cookie", cookie)
this.websocket.connect(url, header as webSocket.WebSocketRequestOptions);
HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

参考示例:

const cookie = "this.setupCookie()"; // 获取到的Cookie是一个字符串
................
ws.connect(defaultIpAddress, {
  header: {
    Cookie: cookie,
  },
  protocol: 'my-protocol',
}, (err: BusinessError, value: boolean) => {
  if (!err) {
    console.log("connect success");
  } else {
    console.log("connect fail, err:" + JSON.stringify(err));
  }
  ws.close((err: BusinessError) => {
    if (!err) {
      console.log("close success");
    } else {
      console.log("close fail, err is " + JSON.stringify(err));
    }
  });
});
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS https请求无法带上cookie
22浏览 • 1回复 待解决
HarmonyOS 发送请求cookie信息
43浏览 • 1回复 待解决
登陆如何注入cookie
823浏览 • 1回复 待解决
Web组件的Cookie信息保存在哪里?
491浏览 • 1回复 待解决
HarmonyOS 请求头设置cookie
52浏览 • 1回复 待解决
怎么在httpRequest中添加cookie
784浏览 • 1回复 待解决
崩溃信息中缺少详细的系统信息
875浏览 • 1回复 待解决
http 请求 如何cookie持久化?
2038浏览 • 1回复 待解决
HarmonyOS cookie管理
239浏览 • 1回复 待解决
cookieStore.persist()依然无法保存cookie
5971浏览 • 1回复 待解决
鸿蒙http请求如何使用cookie管理器
955浏览 • 1回复 待解决