做个sqlboy 2023-03-07 15:50 采纳率: 80%
浏览 14

实例cookie时出现多个kv

Cookie cookie = new Cookie("hello","hello word!")
value里面有空格会造报错?有什么方法不报错
实例化了一个cookie对象,但是在浏览器里面打开出现了其他三个奇奇怪怪的k-v?这个问题怎么解决的
welcome那个是自己创建的

JSESSIONID:9ED0347CCA264AB881CC83C680B6AF65
welcome:123456789
Pycharm-1aad10a7:5bd71e1f-0176-4963-b4d2-3b3f8b2fd659
Pycharm-24fe1ac5:c0095287-1947-49bd-a852-4bad5a356d64

  • 写回答

2条回答 默认 最新

  • MarkHan_ 2023-03-07 16:08
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    在使用Java的Cookie类时,可以通过将value参数中的空格使用URL编码来避免报错。具体来说,可以使用Java提供的URLEncoder类的encode方法来对字符串进行URL编码。例如:

    String value = "hello word!";
    String encodedValue = URLEncoder.encode(value, "UTF-8");
    Cookie cookie = new Cookie("hello", encodedValue);
    
    
    

    这样,value中的空格就会被编码成%20,而不会导致Cookie解析出错。
    ·
    至于浏览器中出现了其他的Cookie键值对,这可能是由于其他的程序或插件也在向浏览器添加Cookie。可以尝试在代码中显式设置Cookie的域名,将其限定在当前应用程序的域名下,以避免与其他程序的Cookie发生冲突。例如:

    Cookie cookie = new Cookie("welcome", "123456789");
    cookie.setDomain("example.com"); // 将Cookie域名设置为当前应用程序的域名
    response.addCookie(cookie);
    
    
    

    其中,example.com需要替换为实际的应用程序域名。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月7日