1.主要实现Code
1 void OpenNewIe(string url, string postData)///url是要post的网址,postData是要传入的参数
2 {
3 if (ie != null)///避免重复打开ie对象没有释放,抛出异常
4 {
5 try
6 {
7 ie.Quit();
8 }
9 catch
10 {
11 ie = null;
12 }
13 }
14 ie = new InternetExplorer();
15 object vPost, vHeaders, vFlags, vTargetFrame;
16 vPost = Encoding.GetEncoding("GB2312").GetBytes(postData);///注意编码方式是GB2312,还是ASCII
17 vFlags = null;
18 vTargetFrame = null;
19 vHeaders = "Content-Type: application/x-www-form-urlencoded" + Convert.ToChar(10) + Convert.ToChar(13);
20 ie.Visible = true;
21 ie.Navigate(url, ref vFlags, ref vTargetFrame, ref vPost, ref vHeaders);
23 }
2.参数传递
1 StringBuilder postData = new StringBuilder();
2 postData.AppendFormat("uid={0}", HelpEncrypt.Encode(uid.ToString(), key));
3 postData.AppendFormat("&serial_number={0}", HelpEncrypt.Encode(serial_number, key));
3.调用方法
1 if (checkBoxNo.Checked)
2 {
3 OpenNewIe(Parameter.Payaddress, postData.ToString());
4 }
4.附加:用WebBrowser组件Post打开IE
1 private void TransferWebForm_Load(object sender, EventArgs e)
2 {
3 string vHeaders = "Content-Type: application/x-www-form-urlencoded" + Convert.ToChar(10) + Convert.ToChar(13);
4 byte[] vPost = Encoding.GetEncoding("GB2312").GetBytes(_postData);
5 this.webBrowser1.Navigate(navigateUrl, null, vPost, vHeaders);
6 }