C#请求http向网页发送接收数据的方法
作者:Joker37 时间:2022-05-28 15:39:20
本文实例为大家分享了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#,http,网页数据
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
C#委托用法详解
2023-06-04 22:46:43
Java编程实现帕斯卡三角形代码示例
2023-11-02 08:08:24
![](https://img.aspxhome.com/file/2023/3/58303_0s.gif)
Java多线程回调方法实例解析
2023-11-04 01:40:01
![](https://img.aspxhome.com/file/2023/2/59002_0s.png)
Hystrix Dashboard断路监控仪表盘的实现详细介绍
2022-07-29 05:27:26
![](https://img.aspxhome.com/file/2023/3/70513_0s.png)
C#将PDF转为多种图像文件格式的方法(Png/Bmp/Emf/Tiff)
2022-06-29 16:13:03
![](https://img.aspxhome.com/file/2023/9/74819_0s.jpg)
Java如何实现List自定义排序
2021-07-03 06:09:15
Java设计模式之java备忘录模式详解
2023-08-22 19:31:07
![](https://img.aspxhome.com/file/2023/4/58434_0s.png)
JAVA Spring中让人头痛的JAVA大事务问题要如何解决你知道吗
2023-01-14 04:58:04
![](https://img.aspxhome.com/file/2023/8/67948_0s.jpg)
Maven的生命周期与自定义插件实现方法
2022-04-06 20:13:48
Java执行hadoop的基本操作实例代码
2022-11-13 12:08:04
C#之继承实现
2023-04-10 16:51:41
Spring Cloud Alibaba 本地调试介绍及方案设计
2023-05-26 21:24:26
![](https://img.aspxhome.com/file/2023/9/74769_0s.png)
JAVA字符串占位符使用方法实例
2021-09-20 17:30:27
Java单例模式实现的几种方式
2021-06-09 18:38:47
Java中的break和continue关键字的使用方法总结
2022-07-13 11:50:46
Java实现双保险线程的示例代码
2023-09-21 07:59:46
string与stringbuilder两者的区别
2021-11-26 00:01:06
Unity实现俄罗斯方块(一)
2021-06-07 15:30:24
Spring Boot产生环形注入的解决方案
2023-11-08 20:14:04
解决@RequestBody部分属性丢失的问题
2023-08-01 15:00:21
![](https://img.aspxhome.com/file/2023/1/63171_0s.png)