文章出處

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

  


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()