• C# http协议Post方式调用WebService


     1         /// <summary>
     2         /// Post方法
     3         /// </summary>
     4         /// <param name="url">webService的URL</param>
     5         /// <param name="method">调用的方法</param>
     6         /// <param name="reqBodys">参数组合</param>
     7         /// <returns></returns>
     8         public static string WebServiceHttpPost(string URL, string Method, List<ReqBody> ReqBodys)
     9         {
    10             string param = string.Empty;
    11             switch (ReqBodys.Count)
    12             {
    13                 case 0:
    14                     break;
    15                 case 1:
    16                     param = HttpUtility.UrlEncode(ReqBodys[0].Key) + "=" + HttpUtility.UrlEncode(ReqBodys[0].Value);
    17                     break;
    18                 default:
    19                     param = HttpUtility.UrlEncode(ReqBodys[0].Key) + "=" + HttpUtility.UrlEncode(ReqBodys[0].Value);
    20                     for (int i = 1; i < ReqBodys.Count; i++)
    21                     {
    22                         param += "&" + HttpUtility.UrlEncode(ReqBodys[i].Key) + "=" + HttpUtility.UrlEncode(ReqBodys[i].Value);
    23                     }
    24                     break;
    25             }
    26             byte[] byteArray = Encoding.UTF8.GetBytes(param);
    27 
    28             HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(URL + "/" + Method);
    29             webRequest.Method = "POST";
    30             webRequest.ContentType = "application/x-www-form-urlencoded";
    31             webRequest.ContentLength = byteArray.Length;
    32             webRequest.GetRequestStream().Write(byteArray, 0, byteArray.Length);       //把参数数据写入请求数据的Stream对象
    33 
    34             HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();      //获得响应
    35 
    36             #region 这种方式读取到的是一个返回的结果字符串 
    37             using(XmlTextReader reader = new XmlTextReader(webResponse.GetResponseStream()))  //获取响应流
    38             {
    39                 reader.MoveToContent();
    40                 return reader.ReadInnerXml();
    41             }
    42             #endregion
    43 
    44             #region 这种方式读取到的是一个Xml格式的字符串
    45             //using(StreamReader sr = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8));
    46             //{
    47             //    return sr.ReadToEnd();
    48             //}
    49             #endregion
    50         }
    365个夜晚,我希望做到两天更一篇博客。加油,小白!
  • 相关阅读:
    这里已不再更新,访问新博客请移步 http://www.douruixin.com
    Javaweb学习笔记10—文件上传与下载
    Javaweb学习笔记9—过滤器
    Javaweb学习笔记8—DBUtils工具包
    Javaweb学习笔记7—JDBC技术
    Javaweb学习笔记6—EL表达式与JSTL及自定义标签
    Javaweb学习笔记5—Cookie&Session
    Javaweb学习笔记4—Reuest&Response
    Javaweb学习笔记3—Serverlet
    Javaweb学习笔记2—Tomcat和http协议
  • 原文地址:https://www.cnblogs.com/qq2806933146xiaobai/p/15480545.html
Copyright © 2020-2023  润新知