首页 > 其他分享 >设置协议Post调用

设置协议Post调用

时间:2022-10-05 13:12:22浏览次数:43  
标签:调用 string Encoding GetEncoding request param 设置 bs Post

 

 

    /// <summary>
        /// 发送数据
        /// </summary>
        /// <param name="url">地址</param>
        /// <param name="postData">xml</param>
        /// <param name="signKey">密钥</param>
        /// <param name="warehouseCode">客户仓库号</param>
        /// <returns></returns>
        public static string DoPost(string url, string postData)
        {
            //这里已经url编码了一次 
            //string param = "logistics_interface =" + HttpUtility.UrlEncode(postData.Trim(), Encoding.GetEncoding("GBK"));
            //string param =  HttpUtility.UrlEncode(postData.Trim(), Encoding.GetEncoding("UTF-8"));
            string param = postData.Trim();
            byte[] bs = Encoding.GetEncoding("UTF-8").GetBytes(param); 
            ServicePointManager.ServerCertificateValidationCallback 
                = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);//验证服务器证书回调自动验证
            ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
            System.Net.ServicePointManager.Expect100Continue = false;
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            request.Timeout = 300000;
            request.Method = "POST";
            request.ContentType = "text/json;application/x-www-form-urlencoded;charset=UTF-8;"; 
            request.ContentLength = bs.Length;

            try
            {
                using (Stream reqStream = request.GetRequestStream())
                {
                    reqStream.Write(bs, 0, bs.Length);
                }

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
                string responseString = sr.ReadToEnd();
                sr.Close();
                response.Close();
                return responseString;
            }
            catch (Exception ex)
            { 
                CommonCode.SaveExceptionLog("Post", "发送数据出现异常:" + ex.ToString());
                throw ex;
            }
        }

 

标签:调用,string,Encoding,GetEncoding,request,param,设置,bs,Post
From: https://www.cnblogs.com/yuanshuo/p/16755417.html

相关文章