2

我是 http 和 Apache 的 HttpComponents API 的新手。

我需要使用 Apache 的 HttpComponents 处理 http 请求的流式响应,而在该连接上可能会发出额外的 http 请求。例如,最初向http://mystreams.net发出一个 POST 请求,随后是附加请求,而在整个过程中,我必须监听和处理流式响应。我需要保持与我建立的相同的初始连接。

我怎样才能做到这一点?我能够创建一个简单的请求HttpClient并执行一个简单的HttpPost请求,然后处理非流式响应实体,但是当它继续流式传输数据并同时向同一地址发出新请求时,我该如何保留它使用相同的上下文(即cookies)?

4

2 回答 2

1

您的流数据是否作为单个 HTTP 响应返回?如果是这样,在连接完成之前,您将无法在该连接上收到其他响应。但是您可以从该响应中获取 cookie(当它仍在将实体流式传输给您时)并使用它们在另一个连接上发出其他请求。

于 2009-11-18T08:54:37.900 回答
0
  • HttpEntity entity = httpclient.execute(httpget).getEntity();
  • InputStream is = entity.getContent()
  • 调用流时,使用新线程,并在主线程中发出后续请求(或者,更好的是,在单独的线程中进行访问)

也在这里检查

于 2009-11-18T08:55:12.470 回答