несколько запросов HTTP при обработке потокового ответа с использованием компонентов http - PullRequest
2 голосов
/ 18 ноября 2009

Я новичок в http и API HttpComponents Apache.

Мне нужно обработать потоковый ответ на http-запрос с использованием HttpComponents Apache, хотя по этому соединению могут быть сделаны дополнительные http-запросы. Например, запрос POST первоначально делается на http://mystreams.net,, который позже следует с дополнительными запросами, в то время как на протяжении всего процесса мне приходится прослушивать и обрабатывать потоковый ответ. Мне нужно держать то же самое первоначальное соединение, которое я сделал.

Как я могу это сделать? Мне удалось создать простой HttpClient и выполнить простой запрос HttpPost, а затем обработать объект ответа, который не является потоковым, но как мне его удержать, когда он продолжает передавать данные и одновременно выполнять новые запросы на один и тот же адрес с использованием того же контекста (т. е. куки)?

Ответы [ 2 ]

1 голос
/ 18 ноября 2009

Ваши потоковые данные возвращаются как один HTTP-ответ? Если это так, вы не сможете получать другие ответы по этому соединению, пока это не будет сделано. Но вы можете взять куки из этого ответа (пока он все еще передает вам потоковую сущность) и использовать их для выполнения других запросов по другому соединению.

0 голосов
/ 18 ноября 2009
  • HttpEntity entity = httpclient.execute(httpget).getEntity();
  • InputStream is = entity.getContent()
  • при вызове потока использовать новый поток и делать последующие запросы в основном потоке (или, лучше, в отдельном потоке для достижения)

Также проверьте здесь

...