• 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 = 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();
    }
    }

  • 相关阅读:
    函数式接口
    方法引用
    接口组成更新
    .Net Framework4.5中Asp.net mvc使用Singal R轮训实现导入进度条功能
    .net mvc使用FlexPaper插件实现在线预览PDF,EXCEL,WORD的方法
    可编辑树Ztree的使用(包括对后台数据库的增删改查)
    使用chosen插件实现多级联动和置位
    在ASP.NET MVC中使用区域来方便管理controller和view
    使用datepicker日期插件
    Linq to sql中使用DateDiff()
  • 原文地址:https://www.cnblogs.com/zxtceq/p/10715762.html
Copyright © 2020-2023  润新知