繁体   English   中英

带有Java的Google HTTP客户端库的Set-Cookie

[英]Set-Cookie with Google HTTP Client Library for Java

我刚开始使用JavaGoogle HTTP客户端库,对此我非常喜欢。 但是,我不知道服务器发送标头Set-Cookie时是否有一种简单的方法来处理这种情况。 我浏览了文档,示例代码和Javadoc,却一无所获,因此我开始实现自己的解决方案。 但是,此过程似乎很常见,我认为Google会为每个人实施一个解决方案。

服务器发送如下内容:

Set-Cookie: uid=ef308bd9-4580-4ef0-8cdd-2b09f383419e; Expires=Tue, 31 Dec 2199 23:59:59 GMT; Domain=mydomain.com; Path=/

我的客户必须手动解析所有内容:

String[] parts = cookie.split(";");
if (parts.length > 0) {
    Pattern p = Pattern.compile("([^\\s=]*)=(.*)");
    Matcher m = p.matcher(parts[0]);
    if (m.matches()) {
        Cookie cookie = new Cookie(m.group(1), m.group(2));
        if (parts.length > 1) {
            for (int i = 1; i < parts.length; i++) {
                // parse and set "Expires", "Max-Age", "Domain", "Path",
                // "Secure", "HttpOnly", etc.
            }
        }
    }
}

有什么库方法可以处理这些问题,而不是由我自己实现?

解析cookie使用

java.net.HttpCookie.parse(String header)

仍然需要存储已解析的cookie并将其与Cookie标头一起发送。 尽管有很多Google没有提供其库的奇怪的解决方案,但是Internet上有很多解决Cookie的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM