首页 > 代码库 > C# 用 WebClient 的 Post 方法向 WebServer 传输数据

C# 用 WebClient 的 Post 方法向 WebServer 传输数据

帮朋友做一个通过Web简单传输数据的例子,百度了一下抄了段代码,完成,效果如下:

技术分享

其中textBox1里面是客户端需要传输过去的数据,textBox2里面是接收到的返回数据。

代码如下:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Net;namespace WebPost{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void button1_Click(object sender, EventArgs e)        {            string postString = "data1=" + textBox1.Text + "&data2=b";//这里即为传递的参数,可以用工具抓包分析,也可以自己分析,主要是form里面每一个name都要加进来              byte[] postData = http://www.mamicode.com/Encoding.UTF8.GetBytes(postString);//编码,尤其是汉字,事先要看下抓取网页的编码方式              string url = "http://localhost/WebTest1/Receive.aspx";//地址              WebClient webClient = new WebClient();            webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");//采取POST方式必须加的header,如果改为GET方式的话就去掉这句话即可              byte[] responseData = http://www.mamicode.com/webClient.UploadData(url, "POST", postData);//得到返回字符流              string srcString = Encoding.UTF8.GetString(responseData);//解码              textBox2.Text = srcString;        }    }}

服务器端 ASP.NET 代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class Receive : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        Response.Write (Request.Form["data1"]);        Response.Write("收到OK!");        Response.End();    }}

 

WebClient 代码抄自:http://blog.163.com/len_sa/blog/static/2102540932012782222526/

感谢原作者。

C# 用 WebClient 的 Post 方法向 WebServer 传输数据