Java,让CookieHandler只能处理一个实例
发布时间:2020-12-15 02:23:04 所属栏目:Java 来源:网络整理
导读:我不知道CookieHandler如何在系统范围内工作,我确实查看了CookieHandler的来源,但除了get / set方法之外没有找到更多的信息. TCP / HTTP连接在哪里使用我设置的CookieHandler实例 CookieHandler.setDefault(...) 我应该参考哪个源文件? URLConnection HttpU
我不知道CookieHandler如何在系统范围内工作,我确实查看了CookieHandler的来源,但除了get / set方法之外没有找到更多的信息. TCP / HTTP连接在哪里使用我设置的CookieHandler实例
CookieHandler.setDefault(...) 我应该参考哪个源文件? URLConnection& HttpURLConnection似乎与它无关. 帮助,提前谢谢. 编辑: 解决方法
我通过使用它来实现它
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,List<String>> responseHeaders) throws IOException { delegate.get().put(uri,responseHeaders); } } 它全局安装 static { CookieHandler.setDefault(new DelegatingCookieManager()); } 但没有国家和代表 private static final ThreadLocal<CookieManager> delegate = new ThreadLocal<CookieManager>(); 它在使用它的类中实例化 private final CookieManager ownCookieManager = new CookieManager(); 喜欢 delegate.set(ownCookieManager); doRequest(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |