日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

            歡迎訪問 生活随笔!

            生活随笔

            當前位置: 首頁 > 编程语言 > asp.net >内容正文

            asp.net

            用 .Net WebBrowser 控件获取POST数据

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

            用 .Net WebBrowser 控件獲取POST數據

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

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

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

              ??? 完成上述3步后,你post 數據時, 就會響應 BeforeNavigate2 事件,postDataText 中就是你post的數據。你也可以修改PostData,對這些數據進行轉換或加密。

            總結

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

            如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。