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, , 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. }
  1. string result = WebApiCaller.HttpPost("http://localhost:8082/api/Patient/SavePatient", jsonString);
  2. string result1 = WebApiCaller.HttpGet("http://localhost:8080/api/Patient/GetPatientInfoById?Id=55");

c# HttpWebResponse 调用WebApi的更多相关文章

  1. WebApi(6) 后台C#调用WebApi

    https://www.cnblogs.com/cxd1008/p/6640015.html 今天来写一下后台C#代码如何访问webapi 这里使用HttpClient方法访问webapi也是很常用的 ...

  2. .NET Core 下调用WebAPI

    前言 今天我们介绍多种客户端调用WebApi的方式,可以是原生写的,也可以借助.NET 框架下的其他HTTP库.我们一起来看看它们之间的一些异同吧- RestSharp 首先要介绍的就是这款REST ...

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

    很高兴能再次和大家分享webapi接口的相关文章,本篇将要讲解的是如何在应用中调用webapi接口:对于大部分做内部管理系统及类似系统的朋友来说很少会去调用别人的接口,因此可能在这方面存在一些困惑,希 ...

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

    第一次调用webapi出错如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http:// ...

  5. 跨域调用webapi

    web端跨域调用webapi   在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webap ...

  6. Web API应用架构在Winform混合框架中的应用(3)--Winfrom界面调用WebAPI的过程分解

    最近一直在整合WebAPI.Winform界面.手机短信.微信公众号.企业号等功能,希望把它构建成一个大的应用平台,把我所有的产品线完美连接起来,同时也在探索.攻克更多的技术问题,并抽空写写博客,把相 ...

  7. 跨域调用webapi web端跨域调用webapi

    web端跨域调用webapi   在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webap ...

  8. web端跨域调用webapi

    在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webapi的程序,如下图所示: 由于微软已 ...

  9. 跨域学习笔记1--跨域调用webapi

    在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webapi的程序,如下图所示: 由于微软已 ...

随机推荐

  1. tomcat绿色版——运行一闪而过的解决方法

    首先配置好jdk的环境变量 %JAVA_HOME%\bin;注意:一定是英文状态下的分号结尾 %TOMCAT%\bin;注意:一定是英文状态下的分号结尾 service.bat install ser ...

  2. virtio guest side implementation: PCI, virtio device, virtio net and virtqueue

    With the publishing of OASIS virtio specification version 1.0, virtio made another big step in becom ...

  3. springmvc学习(2)

    SpringMvc是最主流的MVC框架之一. Spring3.0后全面超越Struts2,成为最优先的MVC框架 SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现任何借 ...

  4. srm开发(基于ssh)(3)

    联系人管理 (1)客户和联系人一对多配置(重点) (2)新增联系人 -新增功能实现 -Struts2实现文件上传 (3)联系人列表 -no session问题 (4)客户和联系人级联删除 联系人管理模 ...

  5. spring: spittr实例 构建简单的web应用 Test测试用例

    本例为Test,测试上一贴的程序 package spittr.web; import org.junit.Test; import org.springframework.test.web.serv ...

  6. mysql数据库(一):建表与新增数据

    一. 学习目标 理解什么是数据库,什么是表 怎样创建数据库和表(create) 怎样往表里插入数据(insert) 怎样修改表里的数据(update) 怎样删除数据库,表以及数据(delete) 二. ...

  7. 【scala】异常处理

    Scala 的异常处理和其它语言比如 Java 类似. 抛出异常 Scala 抛出异常的方法和 Java一样,使用 throw 方法 throw new IllegalArgumentExceptio ...

  8. pycharm 设置 默认信息

    在pycharm使用过程中,对于每次新建文件的shebang行和关于代码编写者的一些个人信息快捷填写,使用模板的方式比较方便. 方法如下: 1.打开pycharm,选择File-Settings, 2 ...

  9. LeetCode OJ:Search a 2D Matrix(二维数组查找)

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  10. 软工15个人作业4——alpha阶段

    一.个人总结 1.在alpha 结束之后, 每位同学写一篇个人博客, 总结自己的alpha 过程: 2.请用自我评价表:http://www.cnblogs.com/xinz/p/3852177.ht ...