解析原始HTTP请求
我正在处理HTTP流量数据集,该数据集由完整的POST和GET请求组成,如下所示。我已经用Java编写了代码,该代码已经分离了每个请求,并将其另存为数组列表中的字符串元素。
现在我很困惑如何在Java中解析这些原始HTTP请求,有什么方法比手动解析更好吗?
GET http://localhost:8080/tienda1/imagenes/3.gif/ HTTP/1.1User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.8 (like Gecko)
Pragma: no-cache
Cache-control: no-cache
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: x-gzip, x-deflate, gzip, deflate
Accept-Charset: utf-8, utf-8;q=0.5, *;q=0.5
Accept-Language: en
Host: localhost:8080
Cookie: JSESSIONID=FB018FFB06011CFABD60D8E8AD58CA21
Connection: close
回答:
我[正在]处理[HTTP]流量数据集,该数据集由完整的POST和GET请求组成
因此,您想解析包含多个HTTP请求的文件或列表。您要提取什么数据?无论如何,这里是一个Java HTTP解析类,它可以读取请求行中使用的方法,版本和URI,并将所有标头读取到哈希表中。
如果您想重新发明轮子,可以使用一个或自己写一个。看一下RFC,看看请求是什么样的,以便正确解析它:
Request = Request-Line ; Section 5.1 *(( general-header ; Section 4.5
| request-header ; Section 5.3
| entity-header ) CRLF) ; Section 7.1
CRLF
[ message-body ] ; Section 4.3
以上是 解析原始HTTP请求 的全部内容, 来源链接: utcz.com/qa/407444.html