我是否可以安全地重用HttpClientContext来通过多个线程为不同域存储cookie,或者最好为每个域创建一个上下文,或者更窄一点,为每个域的每个线程创建一个上下文?

我想象的是像浏览器一样,可以处理每个域的cookie,并可以在页面上打开多个来自相同或不同域的选项卡。

这是我仅一次启动上下文即可被多个线程重用的方法:

HttpClientContext context = HttpClientContext.create();
context.setCookieStore(this.createCookieStore());

我也在使用最新版本的HttpClient。

最佳答案

你不能。即使HttpClientContext实例本身是踩踏安全的,它也可能包含不是的上下文属性。

但是,您可以安全地使不同的HttpClientContext实例共享同一CookieStore实例,从而共享同一HTTP状态。

10-02 03:23