日期:2014-05-18  浏览次数:20928 次

如何利用C#获取POST数据【不是POST数据,而是获取POST数据】
我现在是这样写的,发现并不能获取到Post数据,不知道是不是我搞错了。

C# code

        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[]);
            this.textBox2.Text = postDataText;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            SHDocVw.WebBrowser wb = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;
            wb.BeforeNavigate2 += new SHDocVw.DWebBrowserEvents2_BeforeNavigate2EventHandler(WebBrowser_BeforeNavigate2);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.webBrowser1.Navigate(this.textBox1.Text.Trim());
        }



------解决方案--------------------
http://blog.csdn.net/works07/article/details/5823050
------解决方案--------------------
用 Navigate 的重载方法

public void Navigate(
string urlString,
string targetFrameName,
byte[] postData,
string additionalHeaders
)

------解决方案--------------------
在 WebBrowser 有post 动作的时候就可以获取到 相应的值了

而让你用重载方法 就是产生这个动作