日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

用 .Net WebBrowser 控件获取POST数据

發(fā)布時間:2024/9/20 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用 .Net WebBrowser 控件获取POST数据 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

用 .Net WebBrowser 控件獲取POST數(shù)據(jù)

  ??? 很多應(yīng)用中,開發(fā)者需要自己構(gòu)建一個瀏覽器,并且對通過這個瀏覽器提交的請求進行截獲,比如用戶通過這個瀏覽器瀏覽了一個網(wǎng)頁,并向網(wǎng)站提交(POST)了一些信息,我們想在其提交到網(wǎng)站前對這些POST數(shù)據(jù)在瀏覽器側(cè)進行截獲,做一些跟蹤日志,或者對這些數(shù)據(jù)先加密或轉(zhuǎn)換后再發(fā)送到服務(wù)器。.Net? 提供的WebBrowser 控件可以讓開發(fā)者很輕松的構(gòu)建一個類似IE的瀏覽器,但這個控件提供的事件較少,一些高級應(yīng)用單純用這個控件提供的方法和事件無法實現(xiàn)。這篇文章我想介紹一下如何讓 WebBrowser 控件可以截獲自己POST出去的數(shù)據(jù)。

  ??? WebBrowser 其實是對 ActiveX 控件 SHDocVw 的封裝,而這個SHDocVw的很多底層調(diào)用WebBrowser控件并沒有提供實現(xiàn),我們需要直接操作 SHDoceVw 控件來實現(xiàn)這些高級調(diào)用。操作方法如下:

  ??? 1、在 windows/system32 目錄下找到 shdocvw.dll 這個動態(tài)庫,將其添加到引用中

  ??? 2、在 Form1_Load 中添加如下語句

SHDocVw.WebBrowser?wb?=?(SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;

wb.BeforeNavigate2?+=?

  ????new?DWebBrowserEvents2_BeforeNavigate2EventHandler(WebBrowser_BeforeNavigate2);


??? 3、添加如下成員函數(shù)

?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[]); }

  ??? 完成上述3步后,你post 數(shù)據(jù)時, 就會響應(yīng) BeforeNavigate2 事件,postDataText 中就是你post的數(shù)據(jù)。你也可以修改PostData,對這些數(shù)據(jù)進行轉(zhuǎn)換或加密。

總結(jié)

以上是生活随笔為你收集整理的用 .Net WebBrowser 控件获取POST数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。