zoukankan      html  css  js  c++  java
  • C# 通过接口 post 请求

            /// <summary>
            /// 提交数据请求  方法一
            /// </summary>
            /// <param name="POSTURL">请求提交的地址 如:http://xxx.xxx.xxx/interface/TestPostRequest</param>
            /// <param name="PostData">提交的数据(字符串)</param>
            /// <returns></returns>
            public static string RequestData(string POSTURL, string PostData)
            {
                //发送请求的数据
                WebRequest myHttpWebRequest = WebRequest.Create(POSTURL);
                myHttpWebRequest.Method = "POST";
                UTF8Encoding encoding = new UTF8Encoding();
                byte[] byte1 = encoding.GetBytes(PostData);
                myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
                myHttpWebRequest.ContentLength = byte1.Length;
                Stream newStream = myHttpWebRequest.GetRequestStream();
                newStream.Write(byte1, 0, byte1.Length);
                newStream.Close();
    
                //发送成功后接收返回的XML信息
                HttpWebResponse response = (HttpWebResponse)myHttpWebRequest.GetResponse();
    string lcHtml = string.Empty; Encoding enc = Encoding.GetEncoding("UTF-8"); Stream stream = response.GetResponseStream(); StreamReader streamReader = new StreamReader(stream, enc); lcHtml = streamReader.ReadToEnd(); return lcHtml; }

            /// <summary>
            /// 通过接口提交请求的公用方法   方法二
            /// </summary>
            /// <param name="url">请求的接口地址  如:http://xxx.xxx.xxx/interface/TestPostRequest</param>
            /// <param name="senddata">要发送的报文</param>
            /// <returns></returns>
            public string GetPostStr(string url, string senddata)
            {
                System.Net.WebClient webc = new System.Net.WebClient();
                var apiurl = new Uri(url);
                string sendstr = senddata;
                webc.Headers.Add("Content-Type", "text/xml");
                //webc.Headers["Content-Type"] = "application/stream;charset=utf-8";//OK  
                var arr = webc.UploadData(apiurl, Encoding.UTF8.GetBytes(sendstr)); 
                return Encoding.UTF8.GetString(arr) ;
            }
    
    
    



            /// <summary>
            /// 服务端接收请求、处理并返回响应的数据
            /// </summary>
            public void TestPostRequest()
            {
                StreamReader reader = new StreamReader(System.Web.HttpContext.Current.Request.InputStream);
                String xmlData = reader.ReadToEnd();
    
                //string strRequestData = "接收到的请求数据是:" + xmlData;
                //string strReponseData = "要返回的数据是:" + "<root><attReaderName>1</attReaderName></root>";
                string strReponseData= "";
                strReponseData+= "<root>" +
                           "<head>" +
                           "<errorCode>0</errorCode>" +
                           "<result>success</result>" +
                           "</head>" +
                           "</root>";
    
                HttpContext.Current.Response.Write(strReponseData);
            }
    
    
    
     
    
    
  • 相关阅读:
    王者齐聚!Unite 2017 Shanghai 日程讲师全揭晓
    微软在.NET官网上线.NET 架构指南频道
    期待微软平台即服务技术Service Fabric 开源
    Visual Studio 20周年软件趋势随想
    .NET 十五岁,谈谈我眼中的.NET
    API网关Ocelot 使用Polly 处理部分失败问题
    互联网背景下知识半衰期这么短,如何学习?
    CentOS 7 上面安装PowerShell
    搭建consul 集群
    Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制
  • 原文地址:https://www.cnblogs.com/wangbogo/p/3730110.html
Copyright © 2011-2022 走看看