新建WebApiCaller类,内容如下:

 1 public static class WebApiCaller
 2     {
 3         public static string HttpPost(string url, string body)
 4         {
 5             try
 6             {
 7                 //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
 8                 Encoding encoding = Encoding.UTF8;
 9                 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
10                 request.Method = "POST";
11                 request.Accept = "application/json, text/javascript, */*"; //"text/html, application/xhtml+xml, */*";
12                 request.ContentType = "application/json; charset=utf-8";
13
14                 byte[] buffer = encoding.GetBytes(body);
15                 request.ContentLength = buffer.Length;
16                 request.GetRequestStream().Write(buffer, 0, buffer.Length);
17                 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
18                 using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding))
19                 {
20                     return reader.ReadToEnd();
21                 }
22             }
23             catch (WebException ex)
24             {
25                 var res = (HttpWebResponse)ex.Response;
26                 StringBuilder sb = new StringBuilder();
27                 StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8);
28                 sb.Append(sr.ReadToEnd());
29                 //string ssb = sb.ToString();
30                 throw new Exception(sb.ToString());
31             }
32         }
33
34         /// <summary>
35         /// GET Method
36         /// </summary>
37         /// <returns></returns>
38         public static string HttpGet(string url)
39         {
40             HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
41             myRequest.Method = "GET";
42
43             HttpWebResponse myResponse = null;
44             try
45             {
46                 myResponse = (HttpWebResponse)myRequest.GetResponse();
47                 StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
48                 string content = reader.ReadToEnd();
49                 return content;
50             }
51             //异常请求
52             catch (WebException e)
53             {
54                 myResponse = (HttpWebResponse)e.Response;
55                 using (Stream errData = myResponse.GetResponseStream())
56                 {
57                     using (StreamReader reader = new StreamReader(errData))
58                     {
59                         string text = reader.ReadToEnd();
60
61                         return text;
62                     }
63                 }
64             }
65         }
66     }

用法:

string result = WebApiCaller.HttpPost("http://localhost:8082/api/Patient/SavePatient", jsonString);
string result1 = WebApiCaller.HttpGet("http://localhost:8080/api/Patient/GetPatientInfoById?Id=55");

转载于:https://www.cnblogs.com/paopaohui/p/7885312.html

c# HttpWebResponse 调用WebApi相关推荐

  1. C#调用WebAPI的HTTP服务

    话不多说直接上代码 需要引用如下三个 using System.Net; using Newtonsoft.Json; using Newtonsoft.Json.Linq; 一般调用WEBAPI的J ...

  2. 【WebApi】WebApi的Post方法的参数问题和C#调用WebApi返回400错误

    学习WebApi时间较短,在一个项目中需要向WebApi发送数据,但是使用C#调用WebApi(Post)时总返回400错误,找了很久,总以为是调用方法有问题,后来发现其实是WebApi中,Post方 ...

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

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

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

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

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

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

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

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

  7. c#使用HttpClient调用WebApi

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

  8. 【转】一个ASP.NET MVC中ajax调用WebApi返回500 Internal Server Error的调错方法。

    ASP.NET MVC 引入的WebApi自然且较好地满足了ajax的交互需求,但使用jQuery ajax调用WebApi返回500 Internal Server Error时却不太好查找错误.在 ...

  9. java 异步调用webapi_Async Await异步调用WebApi

    先铺垫一些基础知识 在 .net 4.5中出现了 Async Await关键字,配合之前版本的Task 来使得开发异步程序更为简单易控.   在使用它们之前 我们先关心下 为什么要使用它们.好比 一个 ...

最新文章

  1. java版电子商务spring cloud分布式微服务b2b2c社交电商 (十四)服务注册(consul)
  2. 我以为的周末 vs 实际上的周末
  3. POI实现Excel导入时提示NoSuchMethodError: org.apache.poi.util.POILogger.log
  4. 自动检测技术学习心得体会_国培计划(2020)—学校管理团队信息化领导力提升培训心得体会...
  5. linux模块加载和模块卸载时出现的问题
  6. java ddd 领域事件_Cribbb基于DDD/Domain Event领域事件的开源PHP通知系统
  7. Spring Boot 前端传json数组,后台接收处理
  8. 计算机网络自顶向下-运输层
  9. html能不能连数据库,html下利用javascript连数据库
  10. matlab程序求反应谱,MATLAB程序精确法求解反应谱
  11. 离职,第 10 天,有点心酸。。。
  12. tomcat启动报错,找不到对应的 queue,从而引发内存泄漏
  13. jupyterLab 如何修改字体大小
  14. 4.17每日一题之杂物(洛谷c++)
  15. 我的2022届互联网校招分享
  16. css 风琴,玩一下纯 CSS 折腾的一个叫什么手拉风琴的图片展示效果
  17. 单片机 什么是单片机?
  18. 报错Unknown custom element <xxx> - did you register the component correctly的原因及解决办法
  19. UE编辑器遇到的问题
  20. Mysql任意读取客户端文件,Mysql任意读取客户端文件

热门文章

  1. 管理学生信息android,Android 学生信息管理系统-Go语言中文社区
  2. nginx 禁止运行php,Nginx、Apache、Lighttpd禁止目录执行php配置示例
  3. android 3.0 m3u8,在Android中播放m3u8视频
  4. vue-json-excel前端导出excel教程
  5. [Ext JS]8.3 Sencha Studio安装与快速介绍之一
  6. [Ext JS 4] 实战之多选下拉单 (带checkbox) 续 - 带ALL 选项
  7. hive中如何把13位转化为时间_【hive常用函数一】日期函数
  8. html5 content type,Content-Type一览
  9. 调用图像_本地图像的保存和调用
  10. c语言dp算法,C++动态规划dp算法题