解析原始HTTP请求

我正在处理HTTP流量数据集,该数据集由完整的POST和GET请求组成,如下所示。我已经用Java编写了代码,该代码已经分离了每个请求,并将其另存为数组列表中的字符串元素。

现在我很困惑如何在Java中解析这些原始HTTP请求,有什么方法比手动解析更好吗?

GET http://localhost:8080/tienda1/imagenes/3.gif/ HTTP/1.1

User-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

回到顶部