如何将原始 HTTP 响应解析为 HttpListenerResponse?

2023-11-23

如果我有一个字符串形式的原始 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 所做的那样。


似乎没有简单的方法来转换它们。这些文章帮助:

如何实现自定义代理服务器?

http://www.jeffcrossman.com/2009/08/27/using-httplistener-to-build-a-proxy

我最终做了一些非常相似的事情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将原始 HTTP 响应解析为 HttpListenerResponse? 的相关文章

  • 无法使用 strptime() 获取秒数

    我收到 YYYY MM DDThh mm ss S Z hh mm 这种格式的日期时间 我正在尝试使用复制该值strptime如下所示 struct tm time 0 char pEnd strptime datetime Y m dT
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • 模板类的不明确多重继承

    我有一个真实的情况 可以总结为以下示例 template lt typename ListenerType gt struct Notifier void add listener ListenerType struct TimeListe
  • 如何在C++中实现模板类协变?

    是否可以以这样一种方式实现类模板 如果模板参数相关 一个对象可以转换为另一个对象 这是一个展示这个想法的例子 当然它不会编译 struct Base struct Derived Base template
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • 如何针对 Nancy 中的 Active Directory 进行身份验证?

    这是一篇过时的文章 但是http msdn microsoft com en us library ff650308 aspx paght000026 step3 http msdn microsoft com en us library
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • 已过时 - OpenCV 的错误模式

    我正在使用 OpenCV 1 进行一些图像处理 并且对 cvSetErrMode 函数 它是 CxCore 的一部分 感到困惑 OpenCV 具有三种错误模式 叶 调用错误处理程序后 程序终止 Parent 程序没有终止 但错误处理程序被调
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户

随机推荐

  • 如何屏蔽字符串?

    我有一个值为 1131200001103 的字符串 如何使用 Response Write value 将其显示为 11 312 001103 格式的字符串 Thanks 这会产生所需的结果 string result Int64 Pars
  • 通过单击列标题对 SWT 表进行排序

    在 swt 表排序适用于字符串如何对整数 双精度和日期值进行排序 这仅适用于字符串升序 任何人都可以建议更好的方法来做到这一点 TableItem item new TableItem table SWT NONE item setText
  • 如何使 RPM 依赖于包 a 或包 b?

    这似乎是一个简单的问题 但是the docs似乎对这个问题没有什么可说的 我想做类似的事情Requires vim or emacs但当我这样做时 我实际上依赖于vim or and emacs 依赖两个包中的一个或另一个的语法是什么 执行
  • 带有 proxytable 和 websocket 的 Node http 代理

    我正在尝试让 websockets 也能使用node http proxy 区别在于我使用的是代理表 var options router a websterten com 127 0 0 1 150 b websterten com 12
  • 将sqlite数据库从内存同步到文件

    我正在编写一个应用程序 该应用程序必须非常频繁地记录信息 例如每秒两次 我希望将信息保存到 sqlite 数据库中 但是我不介意每十分钟向磁盘提交一次更改 使用文件数据库时执行查询需要很长时间 并使计算机滞后 一个可选的解决方案是使用内存数
  • 将类变量指定为类方法参数的默认值

    我想在类中构建一个方法 并使用从该类中获取的默认值参数 一般来说 我会对一些数据进行过滤 在我的班级中 我有一个方法 通常我传递数据向量 有时我没有向量 我会采用模拟数据 每次我不传递特定向量时 我都会默认获取模拟数据 我认为这应该是一个简
  • 如何在 SQL Profiler 中查看 SQL 查询?

    当我使用实体框架 4 发出更新查询或另一个更改数据库中数据的数据操作语言 DML 查询时 如何查看发送到 SQL Server 的查询 假设我做了类似的事情 someEntityObjectInstance SomeProperty new
  • Guava 根据另一个列表对列表进行排序的方式?

    I have List
  • 如何从 Android Google Maps API V2 获取 MapView 的位图

    我正在将我的应用程序更新到新的 Android Maps API V2 并在尝试获取当前显示地图的位图图像时遇到问题 在 API V1 中我这样做了 Bitmap mBitmap MapViwe mMapView mBitmap Bitma
  • 致命:角色“root”不存在

    我尝试使用 postgresql 数据库创建 Rails 应用程序 但是当我创建数据库时rake db migratebash 显示错误 FATAL role my does not exist how fix 对不起 我的英语不好 UPD
  • 检查 URL 方案是 HTTP 还是 HTTPS

    我正在使用以下代码来添加http 到网址 substr strtolower url 0 7 http http url 但我如何检查原始URL是否包含https 我不想使用OR clause preg match https url
  • 在Scrapy的项目中使用多个蜘蛛

    我想知道是否可以在同一个项目中一起使用多个蜘蛛 实际上我需要2只蜘蛛 第一个蜘蛛收集第二个蜘蛛应该抓取的链接 它们都在同一个网站上工作 因此域名相似 这可能吗 如果是的话你能给我举个例子吗 谢谢 也许这就是您正在寻找的 def parse
  • Octave C++ 和 VS2010

    我正在尝试将 Octave 与 Visual C 一起使用 我已经下载了octave 3 6 1 vs2010 setup 1 exe 创建一个新项目 添加八度include包含路径的文件夹 octinterp lib and octave
  • 如何将2列的垂直pandas表转换为基于python中常见ID值的水平表

    df1 pd DataFrame foo one one one two two two bar A B C A B C foo bar 0 one A 1 one B 2 one C 3 two A 4 two B 5 two C 我想将
  • 通过ajax获取单选按钮的值

    我想获取单选按钮值并通过 AJAX 将它们发送到 PHP 我的 AJAX 正在运行 但当前正在插入0在每一行中 因此它不会从单选按钮中获取值 任何帮助 将不胜感激 save privacy submit function var messa
  • 如何选择在 HTML5 Canvas 上绘制的线条?

    我正在使用 HTML5 Canvas 来绘制线条 通过在多个中间点上调用drawLine 形成一条线 例如 0 0 gt 10 10 gt 10 5 gt 20 12 将在绘图上显示为一条线 一条线的所有 x y 坐标都存储在一个数组中 我
  • Windows 上的 Cargo 位于公司代理后面

    我认为对于那些想要在工作中使用 Cargo 和 Windows 的人来说这是一个非常常见的问题 我看过多个 GitHub 问题和与之相关的论坛帖子 但没有一个答案能解决我的问题 每当我尝试构建一些指向 crates io 板条箱的代码时 我
  • 在php 5.2.9版本中如何检查文件是图像还是视频类型?

    如何在php版本5 2 9中检查文件是图像还是视频类型 mime mime content type file if strstr mime video this code for video else if strstr mime ima
  • 可以精确表示为浮点数/双精度数的整数范围[重复]

    这个问题在这里已经有答案了 可以表示为双精度 或浮点数 的 连续 整数的确切范围是多少 我问的原因是因为我很好奇诸如此类的问题当发生准确性损失时 That is 最小的正整数是多少m这样m 1不能精确地表示为双精度 或浮点数 最大的负整数是
  • 如何将原始 HTTP 响应解析为 HttpListenerResponse?

    如果我有一个字符串形式的原始 HTTP 响应 HTTP 1 1 200 OK Date Tue 11 May 2010 07 28 30 GMT Expires 1 Cache Control private max age 0 Conte