2010-10-11 3 views
3

У меня есть такие поля, как:Синтаксический HTTP Get запрос на составляющие полей

"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 или код, который может декодировать это, разобрать его на части, и обеспечить programatic доступ к компонентам, особенно информация агента пользователя. googling ничего не помогло, но поскольку эта информация используется все время, должны существовать существующие системы для выполнения того, что мне нужно.

ответ

0

Что вы ищете - это apache LOG парсер. Вы можете найти JXLA полезным, или google для "Java apache log parser".

3

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

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

DefaultHttpServerConnection serverConnection = new DefaultHttpServerConnection(); 
serverConnection.bind(socket, params); 
HttpRequest httpRequest = serverConnection.receiveRequestHeader();