You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Electron中如何设置带有`__Host-`前缀的session cookie?

Electron设置__Host-前缀Cookie的解决方案

__Host-前缀Cookie属于W3C定义的安全Cookie类型,底层Chromium内核会对这类Cookie做强制校验,原有代码缺少必填配置项,因此触发解析失败报错,该规则属于Web通用标准,因此未单独写入Electron的API文档。

强制配置要求

设置__Host-前缀的Cookie必须满足以下所有规则:

  • 必须显式指定secure属性为true
  • 必须显式指定path属性为/
  • 禁止设置domain属性,否则会直接校验不通过
  • 配置中的url参数必须为HTTPS协议地址,和Cookie的适用站点完全匹配

修改后的可运行代码

var cookie = {
    url: cookieurl, // 注意必须是HTTPS协议地址
    name: cookiename, // __Host-开头的Cookie名称
    value: cookievalue,
    secure: true, // __Host前缀Cookie必填项
    path: '/' // __Host前缀Cookie必填项
    // 请勿添加domain属性
};
win.webContents.session.cookies.set(cookie)
.then(function(result)
{
    loadUrl(win, indexUrl, output);
})
.catch(function(e)
{
    throw Error("Failed to load cookie, e="+e);
});

如果需要保留会话级Cookie的属性,不需要额外添加expirationDate配置即可,默认创建的就是仅当前会话有效的Cookie。

异常排查

如果修改配置后依然报错,可按以下顺序排查:

  • 确认cookieurl是HTTPS协议,路径无多余参数
  • 确认Cookie名称的__Host-前缀大小写正确,必须为两个下划线开头,后接大写字母H
  • 确认没有传入不符合规范的额外属性,例如sameSite若设置为None也需要配套secure: true,已经配置的情况下不受影响

内容的提问来源于stack exchange,提问作者Mikko Rantalainen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 16:27:05