/// <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