【发布时间】:2011-09-19 12:22:32
【问题描述】:
我已将 cookie 设置为用于低级别登录的电子邮件地址。当我获得 cookie 的值时,它不会返回任何超过 @ 符号的内容?
例如:
cookie 值 = 'name@domain.com'
cookie 获取值 = 'variable = cookies[loop].getValue()'
返回 = '名称'
关于如何解决这个问题的任何想法?
可能转义字符?
【问题讨论】:
我已将 cookie 设置为用于低级别登录的电子邮件地址。当我获得 cookie 的值时,它不会返回任何超过 @ 符号的内容?
例如:
cookie 值 = 'name@domain.com'
cookie 获取值 = 'variable = cookies[loop].getValue()'
返回 = '名称'
关于如何解决这个问题的任何想法?
可能转义字符?
【问题讨论】:
@ 是 cookie 中的无效字符。我建议对 cookie 值进行 URL 编码和 URL 解码。
Cookie cookie = new Cookie(name, URLEncoder.encode(value, "UTF-8"));
// ...
和
String value = URLDecoder.decode(cookie.getValue(), "UTF-8");
// ...
【讨论】:
java.net 包:download.oracle.com/javase/6/docs/api/java/net/URLEncoder.html 只需将 import java.net.URLEncoder; 添加到您的班级顶部(或者让您的 IDE 自动完成它?)。
enter code here
String str="name@domain.com";
str=URLEncoder.encode(str);
Cookie ck2=new Cookie("email",str);
================================================ ================
String a = URLDecoder.decode(cks[i].getValue());
这会让你cookie所有字符,包括@,@之后
【讨论】: