Exemple #1
0
        public static string HttpGet(string Url, Encoding encode)//Http Get方法
        {
            string         retString = "";
            HttpWebRequest request   = (HttpWebRequest)WebRequest.Create(Url);

            request.Method = "GET";
            request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
            request.Headers.Add("Accept-Encoding:gzip, deflate");//启用压缩编码
            request.Headers.Add("Cache-Control:max-age=0");
            request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36";
            request.KeepAlive = true;
            request.Host      = new Uri(Url).Host;
            HttpWebResponse response         = (HttpWebResponse)request.GetResponse();
            Stream          myResponseStream = response.GetResponseStream();

            switch (response.ContentEncoding)
            {
            case "gzip": retString = DecompressEncode.DecompressGzip(myResponseStream, encode); break;

            case "deflate": retString = DecompressEncode.DecompressDeflate(myResponseStream, encode); break;

            default: retString = DecompressEncode.NoCompress(myResponseStream, encode); break;
            }

            return(retString);
        }
Exemple #2
0
        public static string HttpGet(string Url, string referUrl)//Http Get方法
        {
            Encoding encode;
            string   retString = "";

            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);

                if (Url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
                {
                    ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
                    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls | SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls11;
                    ServicePointManager.CheckCertificateRevocationList = true;
                    ServicePointManager.DefaultConnectionLimit         = 100;
                    ServicePointManager.Expect100Continue = false;
                }

                request.Method = "GET";
                request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
                request.Headers.Add("Accept-Encoding:gzip, deflate");//启用压缩编码
                request.Headers.Add("Cache-Control:max-age=0");
                request.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36";
                request.KeepAlive = false;
                request.Referer   = referUrl;
                request.Host      = new Uri(Url).Host;
                request.Timeout   = 5000;

                encode = Encoding.UTF8;
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                switch (response.CharacterSet)
                {
                case "ISO-8859-1":
                    if (request.Host != "www.dmzx.com")
                    {
                        encode = Encoding.UTF8;
                    }
                    else
                    {
                        encode = Encoding.GetEncoding("gb2312");
                    }
                    break;

                case "gb2312": encode = Encoding.GetEncoding("gb2312"); break;

                default: break;
                }

                Stream myResponseStream = response.GetResponseStream();

                switch (response.ContentEncoding)
                {
                case "gzip": retString = DecompressEncode.DecompressGzip(myResponseStream, encode); break;

                case "deflate": retString = DecompressEncode.DecompressDeflate(myResponseStream, encode); break;

                default: retString = DecompressEncode.NoCompress(myResponseStream, encode); break;
                }
            }
            catch (Exception ex)
            {
                retString = "";
            }
            return(retString);
        }