Разбор HTTP Получить запросы в составные поля - PullRequest
3 голосов
/ 12 октября 2010

У меня есть такие поля, как:

"GET /?blahblahblah HTTP/1.1" 200 43 "http://www.thesun.co.uk/sol/homepage/" 1 blahblah - "en-gb" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB0.0; FunWebProducts; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"

Я ищу библиотеку Java или код, который может расшифровать это, разобрать его и предоставить программный доступ к компонентам, особенно к информации агента пользователя.Поиск в Google ничего полезного не дал, но так как эта информация используется постоянно, должны существовать системы для выполнения того, что мне нужно.

Ответы [ 2 ]

3 голосов
/ 21 мая 2011

Возможно, вы захотите использовать Apache HttpCore . Интерфейс, который вы ищете, это HttpRequest , а простая реализация - BasicHttpRequest .

Построение HttpRequest зависит от того, как вы получаете сам запрос для начала, но, например, на небольшом веб-сервере, над которым я работаю, это просто:

DefaultHttpServerConnection serverConnection = new DefaultHttpServerConnection();
serverConnection.bind(socket, params);
HttpRequest httpRequest = serverConnection.receiveRequestHeader();
0 голосов
/ 12 октября 2010

То, что вы ищете, это apache LOG парсер.Вы можете найти JXLA полезной или Google для "Анализатор лога Java Apache".

...