帮朋友做一个通过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 = 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 = 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/
感谢原作者。
时间: 2024-10-12 09:18:26