C#工具:利用HttpClient调用WebApi
程序员文章站
2022-07-11 09:38:14
可以利用HttpClient来进行Web Api的调用。由于WebA Api的调用本质上就是一次普通的发送请求与接收响应的过程, 所有HttpClient其实可以作为一般意义上发送HTTP请求的工具。 可能需要以下引用集: System.Net.Http.Formatting.dll System. ......
可以利用httpclient来进行web api的调用。由于weba api的调用本质上就是一次普通的发送请求与接收响应的过程,
所有httpclient其实可以作为一般意义上发送http请求的工具。
using system; using system.collections.generic; using system.linq; using system.net.http; using system.text; using system.threading.tasks; namespace 自己的名称空间 { public class apihelper { /// <summary> /// api调用方法/注意一下api地址 /// </summary> /// <param name="controllername">控制器名称--自己所需调用的控制器名称</param> /// <param name="overb">请求方式--get-post-delete-put</param> /// <param name="action">方法名称--如需一个id(方法名/id)(方法名/?id)根据你的api灵活运用</param> /// <param name="obj">方法参数--如提交操作传整个对象</param> /// <returns>json字符串--可以反序列化成你想要的</returns> public static string getapimethod(string controllername, string overb, string action, object obj = null) { task<httpresponsemessage> task = null; string json = ""; httpclient client = new httpclient(); client.baseaddress = new uri("http://localhost:****/api/" + controllername + "/"); switch (overb) { case "get": task = client.getasync(action); break; case "post": task = client.postasjsonasync(action, obj); break; case "delete": task = client.deleteasync(action); break; case "put": task = client.putasjsonasync(action, obj); break; default: break; } task.wait(); var response = task.result; if (response.issuccessstatuscode) { var read = response.content.readasstringasync(); read.wait(); json = read.result; } return json; } } }
可能需要以下引用集:
system.net.http.formatting.dll
system.web.http.dll
上一篇: 百度已经开始屏蔽带链接的博客文章
推荐阅读
-
C#中调用Windows系统服务exe程序的工具类与重启服务的流程
-
Java如何利用jna调用c#中dll的示例
-
详解C# WebApi 接口测试工具:WebApiTestClient
-
详解C# WebApi 接口测试工具:WebApiTestClient
-
.NET/C#利用反射调用含ref或out参数的方法示例代码
-
C#调用OpenCV开发简易版美图工具【推荐】
-
C#中调用Windows系统服务exe程序的工具类与重启服务的流程
-
C#调用OpenCV开发简易版美图工具
-
.NET/C#利用反射调用含ref或out参数的方法示例代码
-
Asp.Net MVC WebAPI的创建与前台Jquery ajax后台HttpClient调用详解