【发布时间】:2012-10-26 16:14:40
【问题描述】:
我正在研究由完整的 POST 和 GET 请求组成的 HTTP 流量数据集,如下所示。我已经在 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
【问题讨论】:
-
你需要在哪里解析这些?在 Servlet 或类似技术(或)普通 Java 类中?
-
数据从何而来?你需要解析什么?
-
如果您绝对必须直接执行 HTTP 并且这不是针对课程的,我强烈建议使用 Apache Commons HttpClient 之类的东西。自己做有很多陷阱。 (例如分块传输编码)
-
@AliAhmad - 你到底想完成什么?如果您使用的是 HttpClient 类,则无需手动解析 HTTP 数据流。
-
您已经询问过如何解析 HTTP,但这可能意味着很多事情,具体取决于您尝试从原始流中提取的内容。在没有说明你的最终目标的情况下,这个问题对于 SO 来说几乎是“没有建设性的”。
标签: java http-headers