0

是否有任何包装器允许我使用 c# 直接从 winforms 应用程序中的 webbrowser 对象访问和修改原始请求数据(如标题、正文、cookies?

4

3 回答 3

2

我在那里看到的唯一可以让您询问浏览器正在做什么的是 Fiddler,它有一个API。您可能想检查一下,但我个人不会考虑在我的生产软件中使用它,除非我对它有真正的需求。

于 2012-12-09T20:05:40.523 回答
1

您也可以尝试实现自己的Asynchronous Pluggable Protocol。因此,您将能够访问和修改请求,然后使用例如HttpWebRequest原始套接字将它们转发到目的地。

您可能认为对入门有用的一些链接:

虽然,在这种情况下使用异步可插拔协议仍然看起来像一个 hack(至少对我来说)。

于 2012-12-09T20:40:41.233 回答
1

好的......所以我在过去的 4 天里一直在网上搜寻需要这样的功能的可靠解决方案。主要是能够访问原始出站请求,以及与 .Net 中的 webBrowser 控件相关联的原始入站响应。结果绝对令人失望。为什么会有这么大的一笔交易?为什么 MSFT 不能只修复该控件并为 rawRequest 和 RawResponse 添加属性?如果您仔细观察,您会发现在过去的 5 到 10 年里,开发人员一直在尝试解决这个问题。没有人提出解决方案?真的吗?怎么回事???

  • “WebBrowser.CreateSink 方法”

    • 巨大的蠕虫罐头。去这里会打破你的想法。
  • 《最完整的 C# Webbrowser 封装控件》

    • 在 Win7 上,尝试从 2006 年开始 regsrv32 所需的旧 ass ATL DLL 会导致错误。
  • “子类化 WebBrowser 控件”

    • 无法访问实际的请求/响应 HTTP 数据包数据。

...叹

于 2013-03-07T22:47:40.810 回答