vue获取接口数据_c#中HttpWebRequest调用接口获取数据
将post请求进行封装,以便调用使用:
/// /// 请求后台地址/// 请求参数/// public string Post(string url,Dictionary<string, string> dic){ string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; StringBuilder builder = new StringBuilder(); int i = 0; foreach (var item in dic) { if (i > 0) builder.Append("&"); builder.AppendFormat("{0}={1}", item.Key, item.Value); i++; } byte[] data = Encoding.UTF8.GetBytes(builder.ToString()); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取响应内容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result;}
PART 02-定义接收实体
请求接口返回的数据格式是string,为了获取到我们需要的格式,所以需要定义一个接收实体:
public class PicInfo{ public PicInfo() { } public string ID { get; set; } public int Iindex { get; set; } public int IDID { get; set; } }
PART 03-数据处理
调用接口,将接收的返回值进行处理,拿到我们想要的有价值数据:
public IListEcho(){ //定义接收实体 IListlist = new List(); //定义参数 string url = ipAddress+"/test"; Dictionary dic = new Dictionary(); //参数列表 dic.Add("lons", "1"); dic.Add("lonb", "2"); //调用方法 string str = Post( url,dic); //处理数据 Newtonsoft.Json.Linq.JObject json1 = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(str); if (json1 != null) { if (json1["data"].ToString() != "") { if (json1["data"].ToString() == "0000") { ClientScriptManager scriptManager = ((Page)System.Web.HttpContext.Current.Handler).ClientScript; scriptManager.RegisterStartupScript(typeof(string), "", "alert(网络超时PcFjGet');", true); } else { Newtonsoft.Json.Linq.JArray array = (Newtonsoft.Json.Linq.JArray)json1["data"]; int i = array.Count; for (int j = 0; j < i; j++) { Newtonsoft.Json.Linq.JObject json2 = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(array[j].ToString()); PicInfo info = new PicInfo(); if (json2.Property("ID") != null) { info.ID = array[j]["ID"].ToString(); } if (json2.Property("Iindex") != null) { info.Iindex = Convert.ToInt32(array[j]["Iindex"].ToString()); } if (json2.Property("IDID") != null) { info.IDID = Convert.ToInt32(array[j]["IDID"].ToString()); } list.Add(info); } } } } return list;}
PART 04-总结
由于是第一次试用c#调用后台接口,过程中你遇到了些问题,其中由于Newtonsoft.Json版本不同的问题耽误了些时间,如果在运行过程中出现Newtonsoft问题,可以考虑更换版本方法。
vue获取接口数据_c#中HttpWebRequest调用接口获取数据相关推荐
- Vue移动端框架Mint UI教程-调用模拟json数据(五)
1:安装 npm install vue-resource 2:打开main.js 注册 import VueResource from 'vue-resource' Vue.use(VueResou ...
- python pc微信 接收信息_GitHub - ericadver/WechatPCAPI: 微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。...
WechatPCAPI 微信PC版的API接口,可通过Python调用微信获取好友.群.公众号列表,并收发消息等功能.可用于二次开发在线微信机器人.微信消息监控.群控软件.开发界面作多个微信控制软件等 ...
- vue如何在style标签中使用data响应式数据?
文章目录 一.面临到的需求? 二.如何在css中使用变量? 三.vue如何在style标签中使用data响应式数据? 一.面临到的需求? 首先我们知道css对应是有伪类的,如:hover, :acti ...
- python 微信公众号网页接口调用_GitHub - micsem00/WechatPCAPI: 微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。...
WechatPCAPI 微信PC版的API接口,可通过Python调用微信获取好友.群.公众号列表,并收发消息等功能.可用于二次开发在线微信机器人.微信消息监控.群控软件.开发界面作多个微信控制软件等 ...
- python的读取微信界面_GitHub - lchb000/WechatPCAPI: 微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。...
WechatPCAPI 微信PC版的API接口,可通过Python调用微信获取好友.群.公众号列表,并收发消息,接受转账.好友请求.入群请求,群管理等功能.可用于二次开发在线微信机器人.微信消息监控. ...
- python 接收微信pc端_GitHub - linhuisheng/WechatPCAPI: 微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。...
WechatPCAPI 微信PC版的API接口,可通过Python调用微信获取好友.群.公众号列表,并收发消息等功能.可用于二次开发在线微信机器人.微信消息监控.群控软件.开发界面作多个微信控制软件等 ...
- 【MySQL】根据数据表中日期字段查询某个月每一天的数据量?查询数据表中所有日期每天的数据量?近三天每天数据量?
前提这个table有一个日期字段date_time之类的 1.根据数据表中日期字段查询某个月每一天的数据量 如果要获取8月的数据,可以这么写: SELECT count(*), DATE_FORMAT ...
- 同时删除两张表的数据_把数据表中对应工作表的数据首先删除,然后导入数据...
大家好,我们今日继续讲解VBA数据库解决方案的第28讲内容:利用VBA,把数据表中对应工作表的数据首先删除,然后向数据表中导入工作表数据.数据库的讲解已经持续一段时间了,从对简单数据库的认识到利用VB ...
- php 根据一个数据组的id 取得另一个数据组对应的名称,怎样从两个spss的数据文件中选出id相同的数据,合并成一个文件...
求教高手怎样从两个spss的数据文件中选出id相同的数据,合并成一个文件.谢谢.排序后用merge file操作,怎么原数据没有变化?output中提示这些 Renaming has created ...
最新文章
- HBase存储剖析与数据迁移
- python画五角星填充不同颜色_Python绘制分形树(一)
- 多数据源使用spring-data-jpa无法部署到JBoss As Server
- 【ArcGIS遇上Python】三种利用Python批量处理地理数据的方法——以栅格数据投影转换为例
- linux多线程 pthread用法
- 做10多年测试的老何
- jeecg json返回值显示失败or成功 j.setSuccess(false/*true*/)
- opencv前景检测
- 严蔚敏版数据结构视频讲解
- cookie secure
- 磨刀不误砍柴工——实验工具准备
- 除了 Microsoft Office我们还可以选择哪些软件?
- 【HTML5期末大作业】制作一个简单HTML我的公益校园安全网页(HTML+CSS+JS)
- HDS发布视频分析软件HVA 为企业提供运营智能与安全洞察
- OriginPro8.5画双柱状图
- 正态性检验ks和sw区别_t检验常见问题汇总解答,你想知道的都在这里
- 王者荣耀国际服——传说对决
- 无法启动程序计算机丢失d,老毛桃处理win10系统提示无法启动程序计算机中丢失duilib_d.dll的恢复方法...
- 知识分享-博客公众号推荐
- Jupyter Notebook主题字体设置及自动代码补全
热门文章
- Python笔记4 实例之批量修改文件名
- 如何防止在ListBox中添加很多数据出现不停的刷新?
- 【个人笔记】OpenCV4 C++ 图像处理与视频分析 07课
- linux系统下装windows双系统,LINUX下安装WINDOWS双系统
- 心理正常与异常的区分_正常心理与异常心理的区分
- Mac上IDA报错/:Permission denied Please specify another file path for the database
- 单链表头插法和尾插法
- Android4.4 多媒体开发(五)----OpenMax简介
- Mac上Gtk-WARNING **: cannot open display解决
- Android启动的init进程