webbrowser获取post数据的问题
场景:
用webbrowser浏览一个网页,网页向网站提交(POST)了一些信息,我想在其提交到网站前对这些POST数据在浏览器侧进行截获
在网上找了帖子,地址如下:
http://hi.baidu.com/gookings/blog/item/12acbd4435056796b2b7dcd3.html
参照这个例子,新建一个Form1,在Form1中加了一个webbrowser1并按照要求完成了下面3步
1、在 windows/system32 目录下找到 shdocvw.dll 这个动态库,将其添加到引用中
2、在 Form1_Load 中添加如下语句
SHDocVw.WebBrowser wb = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;
wb.BeforeNavigate2 += new DWebBrowserEvents2_BeforeNavigate2EventHandler(WebBrowser_BeforeNavigate2);
3、添加如下成员函数
private void WebBrowser_BeforeNavigate2(object pDisp, ref object URL, ref object Flags,
ref object TargetFrameName, ref object PostData, ref object Headers, ref bool Cancel)
{
string postDataText = System.Text.Encoding.ASCII.GetString(PostData as byte[]);
}
在运行时候,发现 SHDocVw.WebBrowser wb = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance; 这句执行后,wb是null,然后后面的语句报错,是我那里操作不对?