我想使用 Internet Explorer 浏览器帮助程序对象修改 HTTP 请求标头。我基本上需要为每个请求更改一些标头,然后在响应返回浏览器之前对其进行修改。
我尝试使用 OnNavigate2 事件,但这些事件甚至无法让您访问所有标题。
我尝试制作一个异步可插入协议,但是我真的无法访问默认的 HTTP 实现,也无法覆盖默认的 HTTP 请求。
你知道这应该怎么做吗?我更喜欢 C#,但必要时可以使用 C++。
我想使用 Internet Explorer 浏览器帮助程序对象修改 HTTP 请求标头。我基本上需要为每个请求更改一些标头,然后在响应返回浏览器之前对其进行修改。
我尝试使用 OnNavigate2 事件,但这些事件甚至无法让您访问所有标题。
我尝试制作一个异步可插入协议,但是我真的无法访问默认的 HTTP 实现,也无法覆盖默认的 HTTP 请求。
你知道这应该怎么做吗?我更喜欢 C#,但必要时可以使用 C++。
它可以通过 URL monikers 来完成。有一个叫 Igor Tandetik 的人实现了类似的东西。您可以在以下位置找到代码链接:microsoft.public.inetsdk.programming google group - 只需查找 PassthruAPP。(我会发布一个链接,但显然不允许新用户这样做)
它不直接支持修改响应正文。您必须在 IInternetProtocolImpl::Read 方法中插入一个钩子。
最简单的方法是使用 http 代理来拦截 Fiddler 所做的一切。
请参阅Fiddler PowerToy(第 1 部分)的说明。
您似乎只能通过使用 BeforeNavigate2 事件的 headers 参数来修改 CUSTOM 标头。并非所有标题都可以访问。这是一种尝试将 BHO 作为特洛伊木马的可能性降到最低的方法。请改用 HTTP 代理。