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再返还给控制台,也就是传输方,让传输方知道我们接收到你传输过来的数据,并且把它保存到数据库里面了。
注:此篇随笔只供参考使用,而且也有很多小瑕疵,最主要的不是代码,逻辑才是最重要的。
栏 目:C#教程
下一篇:C#如何将Access中以时间段条件查询的数据添加到ListView中
本文标题:C#请求http向网页发送接收数据的方法
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/5575.html
您可能感兴趣的文章
- 01-10C#实现由四周向中心缩小的窗体退出特效
- 01-10C#简单实现子窗体向父窗体传值的方法
- 01-10http图片上传安全性问题 根据ContentType (MIME) 判断其实不准确、不
- 01-10C#实现向多线程传参的三种方式实例分析
- 01-10C#编程实现四舍五入、向上及下取整的方法
- 01-10C#数据结构之双向链表(DbLinkList)实例详解
- 01-10解析C#面向对象编程中方法(method)的使用
- 01-10C# 面向对象三大特性:封装、继承、多态
- 01-10C#面向对象设计的七大原则
- 01-10C#向无窗口的进程发送消息
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 04-02jquery与jsp,用jquery
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法实例总结
- 01-11ajax实现页面的局部加载
- 01-10SublimeText编译C开发环境设置
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 08-05DEDE织梦data目录下的sessions文件夹有什