c# - 加载并解析存储在文件中的 HTTP 响应

标签 c# http web httpwebrequest httpwebresponse

我有一个本地存储的文件,其中包含 http 请求的响应。它看起来像这样:

HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
Access-Control-Allow-Origin: http://www.pokemon.com
Cache-Control: max-age=3600, public
Content-Type: image/png
Date: Tue, 19 Apr 2016 17:33:04 GMT
Etag: "2542947452"
Expires: Tue, 26 Apr 2016 17:33:04 GMT
Last-Modified: Wed, 04 Jun 2014 14:59:14 GMT
Server: ECAcc (dca/247E)
X-Cache: HIT
Content-Length: 335685

‰PNG


IHDR   õ  V   ±NÛ‘      pHYs     šœ    cHRM  z%  €ƒ  ùÿ  €é  u0  ê`  :˜  o’_ÅF ËIDATx ÿÿ  ÿâd  ÿ              ÿ    _   n ÿ #                ÿ      ÿ                          ÿ          ÿÿ    ÿ                              ÿ      ÿ                      ÿ          ÿ            ÿ        ÿ      ÿ            ÿ        ÿ                      ÿ          ÿ          ÿ    ÿ        ÿ                      ÿ                              ÿ                ÿ    ÿ                  

我需要提取该有效负载并将其存储在单独的文件中(在本例中为 png 文件) 我不知道如何将其加载到内存中,然后在 HttpWebResponse 或类似的内容中相应地解析它,因此我可以轻松访问属性。

我以为我可以使用 WebRequest.Create 打开该文件,但我显然缺少其他内容,因为它只接受 url。有人可以给我一些提示吗?

最佳答案

正如您猜测的那样,这是一个原始 HTTP 响应。 header 后面有一个空行,其余部分是实体负载。如果将有效负载部分保存到文件中,则该文件将是一个 PNG,长度应为 335685 字节(或者,换句话说,删除空行及其上方的所有内容)。

关于c# - 加载并解析存储在文件中的 HTTP 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59314486/

相关文章:

http - Golang 1.7 上下文值 nil

c# - 从网站 URL 获取链接

c# - 如何访问同一解决方案中两个应用程序中的断点

c# - 如何使排序列表反向排序?我必须自定义 IComparer 吗?

c# - 内部构造器

html - Delphi 的 WebSocket 服务器实现

Ruby Net::HTTP 第二次请求超时

c# - 您可以将旧版本的 xml 反序列化为更新的结构吗

javascript - 如何在本地存储数据?

javascript - Ext JS 将数据格式化为 "DD-MM-YYYY"