2011-05-10 87 views
0

我有一组文件,每个文件都包含一系列HTTP POST响应的全文。其中一些包含二进制对象(例如图像或PDF)。我一直试图使用正则表达式来提取二进制对象,但我似乎无法正确地得到它。 HTTPListener类(和关联的类)似乎都需要一个活动连接,即解析一个我没有的实时请求响应对。是否有一个好的库可以将文件(或字符串)解析为HTTP响应?如果没有,任何人都可以想出一个比正则表达式更好的方法吗?C#解析来自字符串的HTTP POST响应对象的元素

感谢, 里克

+0

当你说“全文” - 如果这些都是二进制的反应,他们将不会被* *文本,比标题等。你的意思是他们是完整的答案,没有触动过? – 2011-05-10 08:33:56

+0

是的,这些文件是将HTTP POST响应转储到文件时所获得的文件,因此在图像的情况下,文件头是文本,二进制对象是大量的gobbledegook。 – RikSaunderson 2011-05-10 08:38:49

回答

0

您可以轻松编写自己的解析器,执行以下操作:

  1. 逐行读取
  2. 响应文件行到行内容长度,它指定了号码有效负载中的字节数
  3. 将有效负载读为二进制
  4. 图像类有一个重载,它会从Stream创建图像。这样您可以验证您的结果图像是否与原始图像匹配。

问候