我是否可以安全地重用HttpClientContext来通过多个线程为不同域存储cookie,或者最好为每个域创建一个上下文,或者更窄一点,为每个域的每个线程创建一个上下文?
我想象的是像浏览器一样,可以处理每个域的cookie,并可以在页面上打开多个来自相同或不同域的选项卡。
这是我仅一次启动上下文即可被多个线程重用的方法:
HttpClientContext context = HttpClientContext.create();
context.setCookieStore(this.createCookieStore());
我也在使用最新版本的HttpClient。
最佳答案
你不能。即使HttpClientContext
实例本身是踩踏安全的,它也可能包含不是的上下文属性。
但是,您可以安全地使不同的HttpClientContext
实例共享同一CookieStore
实例,从而共享同一HTTP状态。