webbrowser获取post数据的问题

xkx2003 2011-04-17 01:06:39
场景:
用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,然后后面的语句报错,是我那里操作不对?
...全文
373 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在执行 SHDocVw.WebBrowser wb = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance; 之前需要webBrowser1.Navigate,否则实例为空
ynkmgog 2011-05-02
  • 打赏
  • 举报
回复
SHDocVw.WebBrowser wb = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;
wb.BeforeNavigate2 += new SHDocVw.DWebBrowserEvents2_BeforeNavigate2EventHandler(WebBrowser_BeforeNavigate2);


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[]);
richTextBox1.Text += postDataText;
richTextBox1.Text += "OK";
}


我是这样做的,wb不为空,但是WebBrowser_BeforeNavigate2也没有触发。
为知为什么,楼下高手解答。
threenewbee 2011-04-30
  • 打赏
  • 举报
回复
.NET内置了WebBrowser控件。不需要引用shdocvw.dll。

lz在工具箱里面找找。
xkx2003 2011-04-21
  • 打赏
  • 举报
回复
自己顶一下
xkx2003 2011-04-17
  • 打赏
  • 举报
回复
楼上能不能帮忙建立一个Form测试下,我这里运行不了

一个Form,一个webbrowse就行

ycproc 2011-04-17
  • 打赏
  • 举报
回复
操作webbrowser 跟操作网页在后台上面讲 区别不是很大

你试一试 重写

111,096

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧