如何使用WebBrowser中的导航事件注入标头

时间:2010-09-22 22:48:14

标签: c# .net winforms webbrowser-control

我正在尝试解决我在导航中拦截请求的问题,并希望在将其传递给该请求之前注入其他请求参数。

以下是步骤:

首先我通过WebBrowser.Navigate()发出请求。我有一个事件处理程序来捕获导航事件。

请求命中导航事件(在发出实际请求之前)。此时,我要么取消请求并发出带有添加参数的新请求,要么以某种方式改变当前请求以获得正确的参数。

不幸的是,我不能简单地调用Cancel事件,并且因为一个问题而重新发出Navigate调用。此请求来自iframe,因此它的深度为一级,导航调用会破坏文档内容的最终结果(因为它只显示iframe内容而不显示其父级)。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

似乎无法在低级别的请求中注入新参数。

推荐的方法是改变页面发送请求的html源。例如,在页面加载后立即在表单内添加隐藏的输入字段。 IMHO。