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

所属分类: 软件编程 / C#教程 阅读数: 50
收藏 0 赞 0 分享

本文实例为大家分享了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再返还给控制台,也就是传输方,让传输方知道我们接收到你传输过来的数据,并且把它保存到数据库里面了。

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

更多精彩内容其他人还在看

C#中Datetimepicker出现问题的解决方法

这篇文章主要给大家介绍了关于C#中Datetimepicker出现问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

C# SQLite数据库入门使用说明

这篇文章主要给大家介绍了关于C#中SQLite数据库入门使用的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

C#实现批量下载图片到本地示例代码

这篇文章主要给大家介绍了关于C#如何实现批量下载图片到本地的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c#具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

如何获取C#中方法的执行时间以及其代码注入详解

这篇文章主要给大家介绍了关于如何获取C#中方法的执行时间以及其代码注入的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
收藏 0 赞 0 分享

C#中通过LRU实现通用高效的超时连接探测

这篇文章主要介绍了c#中通过LRU实现通用高效的超时连接探测,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

如何使用C#将Tensorflow训练的.pb文件用在生产环境详解

这篇文章主要给大家介绍了关于如何使用C#将Tensorflow训练的.pb文件用在生产环境的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

C#程序启动项的设置方法

这篇文章主要为大家详细介绍了C#程序启动项的设置方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

c#爬虫爬取京东的商品信息

这篇文章主要给大家介绍了关于利用c#爬虫爬取京东商品信息的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们随着小编来一起学习学习吧
收藏 0 赞 0 分享

C#随机数生成字母金字塔

这篇文章主要为大家详细介绍了C#随机数生成字母金字塔,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

WPF实现窗体中的悬浮按钮

这篇文章主要为大家详细介绍了WPF实现窗体中的悬浮按钮,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多