gpt4 book ai didi

Java CookiePolicy ACCEPT_ORIGINAL_SERVER 拒绝 cookie

转载 作者:行者123 更新时间:2023-12-01 12:28:01 26 4
gpt4 key购买 nike

我试图弄清楚特定 cookie 何时被设置,并根据其新值更新某些内容。我正在尝试通过实现我自己的 cookie 策略来做到这一点

我的问题涉及 HttpCookie.domainMatches 方法。

当我使用 CookiPolicy.ACCEPT_ORIGINAL_SERVER 策略时,它拒绝了多个 cookie。

cookie 的域为“HostName”(即 machineName123)。这显然是一个无效的域。

我应该在服务器端显式设置域吗?

如果我使用 InetAddress 获取 CanonicalHostName,我只需获取 IP 地址...

例如:

CookieHandler.setDefault(new CookieManager(null, new CookiePolicy() {

@Override
public boolean shouldAccept(java.net.URI uri, final java.net.HttpCookie cookie) {
if(CookiePolicy.ACCEPT_ORIGINAL_SERVER.shouldAccept(uri, cookie)) {
//custom code here
}
System.out.println("Accepting cookie uri Host: " + uri.getHost() + " name:" + cookie.getName() + " value: " + cookie.getValue() + " domain: " + cookie.getDomain() + " path: " + cookie.getPath() );
System.out.println("Domain matches uri: " + HttpCookie.domainMatches(cookie.getDomain(), uri.getHost()));
return true;
}
System.out.println("Rejecting cookie uri Host: " + uri.getHost() + " name:" + cookie.getName() + " value: " + cookie.getValue() + " domain: " + cookie.getDomain() + " path: " + cookie.getPath() );
System.out.println("Domain matches uri: " + HttpCookie.domainMatches(cookie.getDomain(), uri.getHost()));
return false;
};
}));

还有其他方法可以确定特定 cookie 何时设置吗? (这可能发生在多个连接中),或者是否有其他方法解析主机名?

谢谢!

最佳答案

如果您希望 Cookie 策略接受所有 Cookie,您需要使用预定义的 Cookie 策略:

CookiePolicy.ACCEPT_ALL

示例:

CookieManager myCustomCookieManager = new CookieManager(null, CookiePolicy.ACCEPT_ALL);

或者

myCustomCookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);

关于Java CookiePolicy ACCEPT_ORIGINAL_SERVER 拒绝 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26183009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com