文章出處
文章列表
/// <summary> /// 提交數據請求 /// </summary> /// <param name="POSTURL">請求提交的地址 如:https://car.etaiping.com:6004/ecms2/portal/商戶號/請求類型(接口名稱) /// <param name="PostData">提交的數據(字符串)</param> /// <returns></returns> public string RequestData(string PostData) { string POSTURL = string.Format("https://www.sina.com.cn"); Encoding myEncoding = Encoding.GetEncoding("UTF-8"); ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; //將提交的字符串數據轉換成字節數組 //注意提交的編碼,這里默認的是Default:系統當前編碼 byte[] postData = myEncoding.GetBytes(PostData); //設置提交的相關參數 HttpWebRequest request = WebRequest.Create(POSTURL) as HttpWebRequest; //實例化一個證書 //X509Certificate2 cerCaiShang = GetCertificate(); ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true; //request.ClientCertificates.Add(cerCaiShang); request.Method = "POST"; request.KeepAlive = true; //request.AllowAutoRedirect = true; request.ProtocolVersion = HttpVersion.Version10; request.ContentType = "text/xml;charset=utf-8"; //request.ContentType = "application/x-www-form-urlencoded"; request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"; CookieContainer cookieContainer = new CookieContainer(); request.CookieContainer = cookieContainer; request.ContentLength = postData.Length; //request.ClientCertificates.Add(new X509Certificate("C:\\CerPath\\_Cer.cer"));//證書路徑 #region 傳輸數據 try { using (Stream writer = request.GetRequestStream()) { writer.Write(postData, 0, postData.Length); } } catch (Exception ex) { return ex.Message; } #endregion #region 接收返回的數據 string srcString = string.Empty; try { HttpWebResponse response = request.GetResponse() as HttpWebResponse; using (Stream sr = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(sr, myEncoding)) { srcString = reader.ReadToEnd(); } } } catch (Exception ex) { return ex.Message; } #endregion return srcString; }
文章列表
全站熱搜