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");
  • 相关阅读:
    Android 原创新作 超级水平仪 发布
    幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
    Android中MediaPlayer播放音乐时自动中断的解决办法
    语音写字板 v1.01 我的第二个Android作品
    Eclipse导入Android项目的正确方法
    Silverlight中后台代码设置TreeView选定项的方法
    C#网络编程(基本概念和操作) Part.1
    C#网络编程(同步传输字符串) Part.2
    C#网络编程(接收文件) Part.5
    C#网络编程(异步传输字符串) Part.3
  • 原文地址:https://www.cnblogs.com/qq458978/p/8920796.html
Copyright © 2011-2022 走看看