Java,让CookieHandler只在一个实例上工作

Java,让CookieHandler只在一个实例上工作,java,cookies,setcookie,Java,Cookies,Setcookie,我不知道CookieHandler在系统范围内是如何工作的,我确实查看了CookieHandler的源代码,但除了get/set方法外,没有找到其他信息。TCP/HTTP连接在哪里使用CookieHandler实例,我通过 CookieHandler.setDefault(...) 我应该参考哪个源文件URLConnection&HttpURLConnection似乎与此无关 帮忙,先谢谢你。 编辑: 是否可以只将CookieHandler应用于一个调用了setDefault的实例。对Coo

我不知道CookieHandler在系统范围内是如何工作的,我确实查看了CookieHandler的源代码,但除了get/set方法外,没有找到其他信息。TCP/HTTP连接在哪里使用CookieHandler实例,我通过

CookieHandler.setDefault(...)
我应该参考哪个源文件
URLConnection
&
HttpURLConnection
似乎与此无关

帮忙,先谢谢你。
编辑:
是否可以只将CookieHandler应用于一个调用了
setDefault
的实例。

对CookieHandler的适用性给出了一个很好的概述。

我通过使用此

private static class DelegatingCookieManager extends CookieManager {
    @Override public void setCookiePolicy(CookiePolicy cookiePolicy) {
        delegate.get().setCookiePolicy(cookiePolicy);
    }

    @Override public CookieStore getCookieStore() {
        return delegate.get().getCookieStore();
    }

    @Override public Map<String, List<String>> get(
            URI uri, Map<String, List<String>> requestHeaders)
            throws IOException {
        return delegate.get().get(uri, requestHeaders);
    }

    @Override public void put(URI uri, Map<String,
            List<String>> responseHeaders)
            throws IOException {
        delegate.get().put(uri, responseHeaders);
    }
}
但没有状态和委托给

private static final ThreadLocal<CookieManager> delegate =
     new ThreadLocal<CookieManager>();


我一直在想同样的事情。这可能会有一些信息,即“即,使用HTTP作为协议的URL,
newURL(”http://example.com“”
例如,将使用HTTP协议处理程序。如果设置了CookieHander对象,此协议处理程序将回调该对象以处理状态管理。”我转向HttpClient,
setCookieStore
方法。@user435657可能就是这样。对于解析和编写一行代码来说,几兆字节的代码感觉太多了(
Cookie
/
Set Cookie
)。
private static final ThreadLocal<CookieManager> delegate =
     new ThreadLocal<CookieManager>();
private final CookieManager ownCookieManager = new CookieManager();
delegate.set(ownCookieManager);
doRequest();