zoukankan      html  css  js  c++  java
  • c# HttpWebResponse 调用WebApi

    public static class WebApiCaller
        {
            public static string HttpPost(string url, string body)
            {
                try
                {
                    //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
                    Encoding encoding = Encoding.UTF8;
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                    request.Method = "POST";
                    request.Accept = "application/json, text/javascript, */*"; //"text/html, application/xhtml+xml, */*";
                    request.ContentType = "application/json; charset=utf-8";
    
                    byte[] buffer = encoding.GetBytes(body);
                    request.ContentLength = buffer.Length;
                    request.GetRequestStream().Write(buffer, 0, buffer.Length);
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding))
                    {
                        return reader.ReadToEnd();
                    }
                }
                catch (WebException ex)
                {
                    var res = (HttpWebResponse)ex.Response;
                    StringBuilder sb = new StringBuilder();
                    StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8);
                    sb.Append(sr.ReadToEnd());
                    //string ssb = sb.ToString();
                    throw new Exception(sb.ToString());
                }
            }
    
            /// <summary>  
            /// GET Method  
            /// </summary>  
            /// <returns></returns>  
            public static string HttpGet(string url)
            {
                HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
                myRequest.Method = "GET";
    
                HttpWebResponse myResponse = null;
                try
                {
                    myResponse = (HttpWebResponse)myRequest.GetResponse();
                    StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
                    string content = reader.ReadToEnd();
                    return content;
                }
                //异常请求  
                catch (WebException e)
                {
                    myResponse = (HttpWebResponse)e.Response;
                    using (Stream errData = myResponse.GetResponseStream())
                    {
                        using (StreamReader reader = new StreamReader(errData))
                        {
                            string text = reader.ReadToEnd();
    
                            return text;
                        }
                    }
                }
            }
        }
    string result = WebApiCaller.HttpPost("http://localhost:8082/api/Patient/SavePatient", jsonString);
    string result1 = WebApiCaller.HttpGet("http://localhost:8080/api/Patient/GetPatientInfoById?Id=55");
  • 相关阅读:
    Samba 4.0 RC3 发布
    SymmetricDS 3.1.7 发布,数据同步和复制
    Express.js 3.0 发布,Node.js 的高性能封装
    GIFLIB 5.0.1 发布,C语言的GIF处理库
    jQuery UI 1.9.1 发布
    SVN Access Manager 0.5.5.14 发布 SVN 管理工具
    DynamicReports 3.0.3 发布 Java 报表工具
    HttpComponents HttpClient 4.2.2 GA 发布
    AppCan 2.0 正式发布,推移动应用云服务
    Ruby 2.0 的新功能已经冻结
  • 原文地址:https://www.cnblogs.com/qq458978/p/8920796.html
Copyright © 2011-2022 走看看