当前位置: 首页 > 面试题库 >

解析原始HTTP请求

曹均
2023-03-14
问题内容

我正在处理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流量数据集,它由完整的POST和GET请求组成,如下所示。我用java编写了代码,将每个请求分开,并将其保存为数组列表中的字符串元素。现在我很困惑如何在java中解析这些原始HTTP请求,有什么方法比手动解析更好吗?

  • 问题内容: 我有一个原始HTTP字符串,我想代表一个对象中的字段。有什么方法可以解析HTTP字符串中的各个标头? 问题答案: 更新: 现在是2019年,所以在程序员尝试使用该代码的混乱评论之后,我为Python 3重写了此答案。原始的Python 2代码现在位于答案的底部。 标准库中有出色的工具,可以解析RFC 821标头,也可以解析整个HTTP请求。这是一个示例请求字符串(请注意,即使为了方便阅

  • 我试图从原始HTTP请求消息中提取一些信息(如下所示),并将它们存储到org.apache.HTTP.message.basicHttpRequest(https://hc.apache.org/httpComponents-core-ga/httpcore/apidocs/index.html)类的实例中。 我能够使用org.apache.http.message.BasicLineParser

  • 我需要计算我的原始HTTP post请求的散列,并将其与Java中相同的头中的签名散列进行比较。问题是,我尝试了多种方法,但无法提取发送的准确POST请求。随函附上请求: 我需要完全相同的字符串(连同所有的%和其他符号),因为即使是一个单独的空格差会生成一个不正确的散列。我们可以在这里使用自定义过滤器吗?如果可以,那么具体如何使用?

  • 本文向大家介绍Python Http请求json解析库用法解析,包括了Python Http请求json解析库用法解析的使用技巧和注意事项,需要的朋友参考一下 httpparser介绍 :1.解析字节类型的http与https请求数据 :2.支持已k-v形式修改请求数据 :3.支持重新编码请求数据 源码 如何使用 1.解析请求数据 request_first,request_headers,req

  • 问题内容: 我想使用这些令牌发出基本的HTTP请求:http : //www.w3.org/Protocols/rfc2616/rfc2616-sec5.html 我知道Java通常会为您做到这一点,但是我想专门设置某些令牌。 问题答案: 为什么要重新发明轮子?Apache Http Client 4 符合rfc2616。