- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我不知道 CookieHandler 如何在系统范围内工作,我确实查看了 CookieHandler 的源代码,但除了 get/set 方法外没有找到更多信息。 TCP/HTTP 连接在哪里使用我设置的 CookieHandler 实例
CookieHandler.setDefault(...)
我应该引用哪个源文件? URLConnection
& HttpURLConnection
似乎与它无关。
帮助,在此先感谢。
setDefault
的一个实例。
最佳答案
我用这个让它工作
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);
}
}
全局安装
static {
CookieHandler.setDefault(new DelegatingCookieManager());
}
但没有状态和委托(delegate)
private static final ThreadLocal<CookieManager> delegate =
new ThreadLocal<CookieManager>();
在使用它的类中实例化
private final CookieManager ownCookieManager = new CookieManager();
喜欢
delegate.set(ownCookieManager);
doRequest();
关于Java,让 CookieHandler 只在一个实例上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4543328/
我需要访问一些网页并像浏览器一样传递 cookie。这很容易使用 CookieHandler.setDefault(new MyCookieManager()); 但这引入了我需要避免的全局状态(想象
我不知道 CookieHandler 如何在系统范围内工作,我确实查看了 CookieHandler 的源代码,但除了 get/set 方法外没有找到更多信息。 TCP/HTTP 连接在哪里使用我设置
我有一个使用 HttpURLConnection 发出 HTTP 请求的 Web 应用程序。我需要它来处理cookie。我知道只需添加一行代码即可轻松完成,例如 CookieHandler.setDe
我使用以下命令向站点发出 HTTP 请求: //第一次调用服务器时执行 static { cookieManager = new CookieManager(); co
要在 HttpURLConnection 中的每个请求后保留 cookie,应该在开始的应用程序上添加 CookieHandler: CookieManager cookieManager = new
让我的代码以编程方式登录任何 URL 的唯一方法是使用 CookieHandler.setDefault(new CookieManager); 。这很好,但我想了解 cookie 在每个新 Http
我想使用youtube API制作youtube cookie的缩略图。 在google上搜索后,我发现了两种在Android中实现cookie的方法。 CookieHandler和 org.apac
我在管理 OkHttp 和 Cookies 方面遇到了麻烦。 我正在使用带有 CookieManager 的自定义 OkHttpClient 创建 Retrofit 客户端。 final OkHttp
我目前在我的 Mac (macOS Sierra) 上安装了 Jmeter 3.2。现在我想安装 3.1,因为 jmeter ERROR o.a.j.p.h.c.HC4 CookieHandler:
我的简单 Apache HttpClient (4.0.1) 客户端应用程序在 main() 方法中向服务器 URL 发出 HttpGet 请求并打印响应。启动时,应用程序在静态 block 中注册
我是一名优秀的程序员,十分优秀!