如果我将原始 HTTP 响应作为字符串:
HTTP/1.1 200 OK
Date: Tue, 11 May 2010 07:28:30 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=UTF-8
Server: gws
X-XSS-Protection: 1; mode=block
Connection: close
<!doctype html><html>...</html>
有没有一种简单的方法可以将其解析为HttpListenerResponse
对象?或者至少是某种 .NET 对象,所以我不必处理原始响应。
我目前正在做的是提取标题键/值对并将它们设置在HttpListenerResponse
. 但是有些标头无法设置,然后我必须将响应的正文剪掉并写入OutputStream
. 但是身体可以被压缩,或者它可以是一个图像,我还不能开始工作。有些响应到处都包含随机字符,这看起来像是编码问题。这很麻烦。
我收到了原始响应,因为我正在使用 SOCKS 发送 HTTP 请求。我正在开发的程序基本上是一个 HTTP 代理,它可以通过 SOCKS 代理路由请求,就像 Privoxy 一样。