C#请求http向网页发送接收数据的方法
作者:Joker37 发布时间:2022-05-28 15:39:20
标签: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再返还给控制台,也就是传输方,让传输方知道我们接收到你传输过来的数据,并且把它保存到数据库里面了。
注:此篇随笔只供参考使用,而且也有很多小瑕疵,最主要的不是代码,逻辑才是最重要的。
0
投稿
猜你喜欢
- 在Word插入分页符可以在指定段落后插入,也可以在特定文本位置处插入。本文,将以Java代码来操作以上两种文档分页需求。下面是详细方法及步骤
- 回调在 * 中定义为:在计算机程序设计中,回调函数,是指通过函数参数传递到其他代码的,某一块可执行代码的引用。其目的是允许底层代码调用在高
- 相信各位同道在写代码的时候,肯定会写一些日志打印,因为这对往后的运维而言,至关重要的。那么我们请求一个restfull接口的时候,哪些信息是
- Java连接SQL Server数据库的详细操作流程一.明确JDK版本和下载驱动1.1 JDK版本查看win + r输入cmd,命令窗口输入
- 泛型是Java中一个非常重要的内容,对于Java进阶学习是必须要掌握的知识点之所以说这个知识点重要,如果你有过阅读过一些开源框架的代码,那你
- 在本文中,我们将介绍一个非常有用的Spring功能,该功能允许我们基于一个或多个Spring注释创建自己的注释。假设我们有一组经常一起使用的
- 到底什么是反射呢???反射的核心就是JVM在运行时才动态加载类或调用方法,访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁。每
- Note:这篇文章是基于Android Studio 3.01版本的,NDK是R16。step1:创建一个包含C++的项目其他默认就可以了。
- 一段看似平平无奇的代码Classroom classroom = this.getOne( Wrappers.<Class
- 一、流程图二、Token1、token是一种客户端认证机制,是一个经过加密的字符串,安全性强,支持跨域2、用户第一次登录,服务器通过数据库校
- 本文实例讲述了C#画笔Pen绘制光滑模式曲线的方法。分享给大家供大家参考。具体实现方法如下:using System;using Syste
- 本文为大家分享了java画出五子棋游戏棋盘的方法,供大家参考,具体内容如下棋盘模块:画五子棋棋盘:19条横线、19条竖线步骤一:显示棋盘我有
- 前提在日常使用SpringMVC进行开发的时候,有可能遇到前端各种类型的请求参数,这里做一次相对全面的总结。SpringMVC中处理控制器参
- public void ProcessRequest (HttpContext context) { &n
- 近几天又温习了一下SpringMVC的运行机制以及原理我理解的springmvc,是设计模式MVC中C层,也就是Controller(控制)
- java读取resources文件详解及实现代码Java项目中,经常需要将资源文件打包放在项目中,然后在项目中去读取对应的文件。实现代码:S
- 一、微服务结构微服务这种方案需要技术框架来落地,全球的互联网公司都在积极尝试自己的微服务落地技术。在国内最知名的就是SpringCloud和
- 背景大家在使用Selenium + Chromedriver爬取网站信息的时候,以为这样就能做到不被网站的反爬虫机制发现。但是实际上很多参数
- 前言感觉Jpa的动态构建查询不好使用,然后mybatis-plus没有动态构建表的功能,有没有可能使两者混合使用,利用Jpa自动建表的优势
- webservice restful接口跟soap协议的接口实现大同小异,只是在提供服务的类/接口的注解上存在差异,具体看下面的代码,然后自