【发布时间】:2012-05-25 04:15:47
【问题描述】:
我试图在与其他服务器连接时重用 HttpClient 的会话/上下文(以使 HttpClient 使用相同的连接)。为此,我正在使用池连接管理器,并且每次使用此连接管理器创建 HttpClient ...但它仍然使用不同的上下文/会话连接到另一台服务器。
这样做的正确方法是什么?
【问题讨论】:
标签: java httpclient
我试图在与其他服务器连接时重用 HttpClient 的会话/上下文(以使 HttpClient 使用相同的连接)。为此,我正在使用池连接管理器,并且每次使用此连接管理器创建 HttpClient ...但它仍然使用不同的上下文/会话连接到另一台服务器。
这样做的正确方法是什么?
【问题讨论】:
标签: java httpclient
我相信您混淆了连接持久性和 HTTP 状态/会话管理。 HTTP 会话可以跨越多个连接。通常与持久连接无关。您想要的是重新使用 CookieStore 以及它包含的所有 cookie,用于所有逻辑相关的 HTTP 交换。更多详情请参阅 HttpClient 教程的这一部分http://hc.apache.org/httpcomponents-client-ga/tutorial/html/statemgmt.html#d5e849
【讨论】: