码迷,mamicode.com
首页 > 其他好文 > 详细

异步通知给业务集团

时间:2016-11-21 19:16:32      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:cti   http   res   stp   continue   turn   com   通知   empty   

var result = SlRequest.GetHtmlNoShakeHand(url, Encoding.UTF8, 5000, SlHttpActionType.Post, rparam, false);

 


        /// <summary>
        /// 获取url里面的html
        /// </summary>
        /// <param name="url"></param>
        /// <param name="encoding"></param>
        /// <param name="timeout"></param>
        /// <param name="httpActionType"></param>
        /// <param name="postParameter"></param>
        /// <returns></returns>
        public static string GetHtmlNoShakeHand(string url, Encoding encoding = null, int timeout = 1000, SlHttpActionType httpActionType = SlHttpActionType.Get, string postParameter = "",bool isHandShaking=true)
        {
            if (encoding == null)
            {
                encoding = Encoding.Default;
            }
            if (!isHandShaking)
            {
                System.Net.ServicePointManager.Expect100Continue = false;
            }
            var request = HttpWebRequest.Create(url);
            request.Proxy = null;
            request.Timeout = timeout;

            request.Headers.Add("Accept-Encoding", "gzip,deflate");
            if (httpActionType == SlHttpActionType.Post)
            {
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";

                if (!string.IsNullOrEmpty(postParameter))
                {
                    var postData = encoding.GetBytes(postParameter);

                    request.ContentLength = postData.Length;

                    using (Stream requestStream = request.GetRequestStream())
                    {
                        requestStream.Write(postData, 0, postData.Length);
                    }
                }
            }
            else
            {
                request.Method = "GET";
            }

            using (var response = (HttpWebResponse)request.GetResponse())
            {
                if (response.ContentEncoding.ToLower().Contains("gzip"))
                {
                    using (GZipStream stream = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress))
                    {
                        using (var streamReader = new StreamReader(stream, encoding))
                        {
                            var html = streamReader.ReadToEnd();
                            return html;
                        }
                    }
                }
                else if (response.ContentEncoding.ToLower().Contains("deflate"))
                {
                    using (DeflateStream stream = new DeflateStream(response.GetResponseStream(), CompressionMode.Decompress))
                    {
                        using (var streamReader = new StreamReader(stream, encoding))
                        {
                            var html = streamReader.ReadToEnd();
                            return html;
                        }
                    }
                }
                else
                {
                    using (var responseStream = response.GetResponseStream())
                    {
                        using (var streamReader = new StreamReader(responseStream, encoding))
                        {
                            var html = streamReader.ReadToEnd();
                            return html;
                        }
                    }
                }
            }
        }

异步通知给业务集团

标签:cti   http   res   stp   continue   turn   com   通知   empty   

原文地址:http://www.cnblogs.com/sk2016/p/6086344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!