话不多说直接上代码

需要引用如下三个

using System.Net;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

一般调用WEBAPI的JSON字符串如下

{"UserId":"admin","UserName":"admin","Token":"Token","RequestName":"functionName","JsonData":"[{'Task1':test1,'Task2':'test2','Flag':0},{'Task1':'2020','Task2':'2019','Flag':1}]","ClientIP":null
}

JSONData里面的一定要是单引号,目前C#测试是这样的,但是用C#试调过程中监视器里看到的都是双引号+斜杠,拷出来是不能用的

调用过程主要如下方式【POST调用方式】

        /// <summary>/// 调用WEBAPI/// </summary>/// <param name="UserId"></param>/// <param name="UserName"></param>/// <param name="Token">可以验证</param>/// <param name="RequestName">方法名称</param>/// <param name="JsonData">JSON字符串或JSON数组</param>/// <returns></returns>public string GetWebApi(string UserId, string UserName, string Token, string RequestName, string JsonData){string Url = "http://192.168.1.2/api/控制器名/调用函数名";string s1 = "UserId=" + UserId+ "&UserName=" + UserName+ "&Token=" + Token+ "&RequestName=" + RequestName+ "&JsonData=" + JsonData+ "&ClientIP=''";string s2 = "";try{byte[] pds = Encoding.UTF8.GetBytes(s1);HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);request.Method = "POST";request.ContentType = "application/x-www-form-urlencoded;charset=utf-8";request.ContentLength = pds.Length;Stream writer = request.GetRequestStream();writer.Write(pds, 0, pds.Length);writer.Close();HttpWebResponse response = (HttpWebResponse)request.GetResponse();Stream s = response.GetResponseStream();StreamReader reader = new StreamReader(s);s2 = reader.ReadToEnd();s.Close();}catch (Exception e){s2 = e.Message;}return s2;}

调用如下:

string jkReturn = fu.GetWebApi(UsrId, UsrName, "Token", "functionName", json);/*调用返回 {"Success": 1,"Message": "成功 共2记录","Result": null}
这里的JSON自己按照规则拼凑就可以了
*/JObject jo = (JObject)JsonConvert.DeserializeObject(jkReturn);
bool success = (bool)jo["Success"];if (!success){Exception ex = new Exception("XXX信息有误:" + jkReturn);throw ex;}
  • 返回执行结果

{

"Success": 1,

"Message": "成功同步2条记录!",

}

  • 返回结果说明

字段名

数据类型

允许空

注释

Success

int

0:异常 1:正常

Message

string

执行结果消息

当然大部分都还有一个Result字符对,也是可以的,那样更规范吧

至此C#调用WEBAPI接口已经完成,小伙伴可以试一试

C#调用WebAPI的HTTP服务相关推荐

  1. c#使用HttpClient调用WebApi

    调用WebApi 可以利用HttpClient来进行Web Api的调用.由于WebA Api的调用本质上就是一次普通的发送请求与接收响应的过程, 所有HttpClient其实可以作为一般意义上发送H ...

  2. WebApi接口 - 如何在应用中调用webapi接口

    » 简单做个webapi(查询+添加)接口 首先,我们需要有一个webapi接口项目,我这里以前面WebApi接口 - 响应输出xml和json文章的项目来构建本篇文章的测试用例:这里新建一个 DbD ...

  3. 调用webapi接口的实现

    远程调用webapi接口技术文档 一.webapi接口 Webapi接口是一种使用json作为存放服务端数据的载体,将服务端数据生成为json,以json的形式存放,供外界调用,获取数据.外界用户需要 ...

  4. 解决js跨域调用WebApi的问题

    解决js跨域调用WebApi的问题 参考文章: (1)解决js跨域调用WebApi的问题 (2)https://www.cnblogs.com/qubernet/p/6396295.html 备忘一下 ...

  5. 调用webapi 错误:使用 HTTP 谓词 POST 向虚拟目录发送了一个请求,而默认文档是不支持 GET 或 HEAD 以外的 HTTP 谓词的静态文件。的解决方案

    调用webapi 错误:使用 HTTP 谓词 POST 向虚拟目录发送了一个请求,而默认文档是不支持 GET 或 HEAD 以外的 HTTP 谓词的静态文件.的解决方案 参考文章: (1)调用weba ...

  6. java 调用webapi json_java通过url调用web api并接收其返回的json

    java通过url调用webapi并接收其返回的json数据,但现在结果总是:{"result":4,"data":{}}(未认证:),帮助文档如下:API使用 ...

  7. c#中WepAPI(post/get)控制器方法创建和httpclient调用webAPI实例

    一:WebAPI创建 using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; ...

  8. 上几个WebAPI就算微服务架构?Too Young!

    毋庸置疑,当下是微服务云原生的时代,这是最坏的时代,也是最好的时代!机遇和挑战并行,技术人之间的差距在逐渐拉到! 两极分化严重 早在2015年,微服务就已经被诸多大企业认可和推行,被称之为微服务架构元 ...

  9. 使用SoapUI调用安全WCF SOAP服务–第1部分,该服务

    在这个由三部分组成的传奇中,我将演示如何使用SoapUI API工具来调用安全的SOAP服务. 首先,我将专注于创建服务,在接下来的文章中它将充当被测系统. 使用基本身份验证传输安全性机制维护对该服务 ...

最新文章

  1. 机器学习热码one hot python
  2. RabbitMQ学习总结(7)——Spring整合RabbitMQ实例
  3. 一站式开源测试平台:MeterSphere
  4. new Scanner(1.txt);读取不到文件中的数据
  5. tcp压测工具_【解决方案】性能压测及分析调优实践
  6. [Java基础]自定义注解 格式本质
  7. msdn画圆弧函数_精确之美——用TikZ画硬盘示意图
  8. 开发函数计算的正确姿势——借助 Ghostscript 将 PDF 转换成 JPG
  9. 【Java从入门到头秃专栏 6】语法篇(五) :多线程 线程池 可见、原子性 并发包 Lambda表达式
  10. 如何优化网站的响应时间
  11. 代码编辑框控件_某游戏控件遍历
  12. 学习笔记:App-V测试错误代码4505CD-1690150A-20000194
  13. 【硬件】推荐软件『软硬件的基准测试工具』
  14. Redis开发运维实践上线部署规划之内存规划
  15. 2018春招-今日头条笔试题-第四题(python)
  16. UE4 DataAsset 的使用
  17. symbian v3模拟器开启后自动关闭
  18. 大数据最佳实践-hbase
  19. 在Win10系统中防火墙如何设置IP白名单
  20. jsp393学生宿舍管理系统mysql

热门文章

  1. oracle+xquery函数,xquery
  2. 命令行测试网速_3个方便的命令行互联网速度测试
  3. 5亿美金砸向Momenta:上汽丰田博世奔驰齐入股,只因提供智能汽车加速度
  4. 鄱.阳.湖.近期SAR和光学卫星遥感数据汇总及共享
  5. was控制台及节点启动
  6. 【python】列出http://www.cnblogs.com/xiandedanteng中所有博文的标题
  7. 个人形象设计之衣橱管理
  8. python中NumPy的矢量运算
  9. linux企业实战-代理服务器
  10. leveldb 文档