Как разобрать HTTP в Java асинхронно (возможно, http-клиент) - PullRequest
2 голосов
/ 16 марта 2012

Я прочитал несколько вопросов о стековом потоке, включая

Как проанализировать HTTP-запрос в Java?

, который направляет httpcomponents на apache, что выглядит многообещающе, но когда выполучать байты асинхронно, вы не получаете весь запрос всегда, поэтому мне нужно что-то, что я могу продолжать вызывать, например

requestWriter.fillBuffer1010 *http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/impl/io/HttpRequestParser.html

И тогда мне потребуется возвращаемое значение из этой функции, чтобы сообщить мне, что синтаксический анализ http-запроса завершен (завершенный, что означает, что байты тела заполнены где-то на основе заголовка ContentLength).и все остальное)

У любого есть пример этого в сети.Я продолжаю сталкиваться с желанием сделать это и искать, но в конце концов сломался и решил спросить.

Ответы [ 3 ]

1 голос
/ 16 марта 2012

Я никогда не пробовал это с апачем.

Возможно, вам будет лучше смотреть на netty - http://www.jboss.org/netty

В частности, пример, который они приводят для построения асинхронного http-клиента: http://docs.jboss.org/netty/3.2/xref/org/jboss/netty/example/http/snoop/package-summary.html

ВыЗаметим, что в них встроена обработка чанков.

Или, возможно, одна из библиотек HTTP-клиентов, построенная поверх нее, найдена здесь: http://www.jboss.org/netty/related-projects

Если вы заблокированы с помощью Apachehttp клиент, дайте мне знать, и я удалю этот пост.

Изменить, чтобы добавить: Обратите внимание, что их основной сайт теперь находится по адресу http://netty.io, но он часто реагирует медленно или вообще не отвечает, как было в случаекогда я писал это)

0 голосов
/ 16 марта 2012

Вы посмотрели на async-http-client ? выглядит многообещающе Я не думаю, что это сработает, если у вас есть из коробки , но я считаю это хорошей отправной точкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...