好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#请求http向网页发送接收数据的方法

本文实例为大家分享了C#请求http向网页发送数据、网页接收,供大家参考,具体内容如下

首先,我们需要的是什么东西?

用POST方式请求http,给网页传输数据,网页接收到数据之后,把数据存储到数据库中。

1.首先请求http,建立连接,把转码过的数据传输过去

2.网页接收数据,在转码之后存储到数据库

3.网页返回一个东西给传输方,表示我们已经接收到数据了

同样,我们请求http也是用的控制台模拟的

?

static void Main( string [] args)

{

   string result = Post( "http://localhost:5534/Home/ToUrl" , "家庭" );

   Console.WriteLine(result);

   Console.ReadKey();

}

/// <summary>

     /// 指定Post地址使用Get 方式获取全部字符串

     /// </summary>

     /// <param name="url">请求后台地址</param>

     /// <param name="content">Post提交数据内容(utf-8编码的)</param>

     /// <returns>结果</returns>

     public static string Post( string url, string content)

     {

       //申明一个容器result接收数据

       string result = "" ;

       //首先创建一个HttpWebRequest,申明传输方式POST

       HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

       req.Method = "POST" ;

       req.ContentType = "application/x-www-form-urlencoded" ;

 

       //添加POST参数

       byte [] data = Encoding.UTF8.GetBytes(content);

       req.ContentLength = data.Length;

       using (Stream reqStream = req.GetRequestStream())

       {

         reqStream.Write(data, 0, data.Length);

         reqStream.Close();

       }

 

       //申明一个容器resp接收返回数据

       HttpWebResponse resp = (HttpWebResponse)req.GetResponse();

       Stream stream = resp.GetResponseStream();

       //获取响应内容

       using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))

       {

         result = reader.ReadToEnd();

       }

       return result;

     }

然后,在Controller里面有个ToUrl用于接收数据

?

public ActionResult ToUrl()

     {

       string result = "" ;

       string jsonStr = "" , line;

       try

       {

 

         Stream streamResponse = Request.InputStream;

         StreamReader streamRead = new StreamReader(streamResponse, Encoding.UTF8);

 

         while ((line = streamRead.ReadLine()) != null )

         {

           jsonStr += line;

         }

         streamResponse.Close();

         streamRead.Close();

 

         result = jsonStr;

       }

       catch (Exception ex)

       {

         result = "msg-数据发布(In)异常:" + ex.Message;

       }

       Service service = new Service();

       //调用AddCatagorys方法,把数据添加进去

       service.AddCatagorys(result);

       //再调用GetCatas方法,获取到分类列表

       List<Catagory> list = service.GetCatagories();

       //找到分类列表最后一个分类,也就是刚刚添加的分类

       Catagory catagory = list[list.Count - 1];

       //返回Json

       //return Json(catagory)

 

       //返回一个ID,Content()里面是string类型,所以要把int转为string类型

       return Content(catagory.ID.ToString());

     }

这里其实相当于两个人打电话,你在跟我打电话的时候,按理来说不会再跟其他人打电话呗。

所以这里return Content(catagory.ID.ToString());表示将返回的ID再返还给控制台,也就是传输方,让传输方知道我们接收到你传输过来的数据,并且把它保存到数据库里面了。

注:此篇随笔只供参考使用,而且也有很多小瑕疵,最主要的不是代码,逻辑才是最重要的。

dy("nrwz");

查看更多关于C#请求http向网页发送接收数据的方法的详细内容...

  阅读:41次