4

我想使用 Internet Explorer 浏览器帮助程序对象修改 HTTP 请求标头。我基本上需要为每个请求更改一些标头,然后在响应返回浏览器之前对其进行修改。

我尝试使用 OnNavigate2 事件,但这些事件甚至无法让您访问所有标题。

我尝试制作一个异步可插入协议,但是我真的无法访问默认的 HTTP 实现,也无法覆盖默认的 HTTP 请求。

你知道这应该怎么做吗?我更喜欢 C#,但必要时可以使用 C++。

4

3 回答 3

3

它可以通过 URL monikers 来完成。有一个叫 Igor Tandetik 的人实现了类似的东西。您可以在以下位置找到代码链接:microsoft.public.inetsdk.programming google group - 只需查找 PassthruAPP。(我会发布一个链接,但显然不允许新用户这样做)

它不直接支持修改响应正文。您必须在 IInternetProtocolImpl::Read 方法中插入一个钩子。

于 2009-05-22T07:14:02.603 回答
0

最简单的方法是使用 http 代理来拦截 Fiddler 所做的一切。

请参阅Fiddler PowerToy(第 1 部分)的说明。

于 2009-04-30T22:26:42.660 回答
0

您似乎只能通过使用 BeforeNavigate2 事件的 headers 参数来修改 CUSTOM 标头。并非所有标题都可以访问。这是一种尝试将 BHO 作为特洛伊木马的可能性降到最低的方法。请改用 HTTP 代理。

于 2009-04-30T22:52:32.363 回答