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

如何在Ktor Client中禁用请求头Cookie的URI编码?

解决Ktor Client自动编码Cookie值的问题

Ktor Client默认会对Cookie值执行URI编码,导致你设置的原始Cookie内容被转义。要发送未编码的原始Cookie头,有两种可行方案:

方案一:直接使用appendUnencoded添加请求头

绕过Ktor默认的头编码逻辑,用HeadersBuilder的appendUnencoded方法直接写入原始Cookie字符串:

client.get("目标接口地址") {
    headers {
        appendUnencoded(HttpHeaders.Cookie, "session=https://test.com")
    }
}

方案二:配置Cookies插件禁用编码

如果你的项目使用了Ktor的HttpCookies插件,可以通过修改插件配置,强制使用原始编码模式:

install(HttpCookies) {
    storage = AcceptAllCookiesStorage() // 根据你的需求替换存储实现
    cookieEncoding = CookieEncoding.RAW
}

配置后,插件处理Cookie时会保留原始值,不会自动转义特殊字符。

这两种方式都能让服务器收到未编码的session=https://test.com Cookie内容。

内容的提问来源于stack exchange,提问作者Lukáš Matuška

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 09:04:53