C# 请求页面


        /// <summary>
        /// 请求指定页面并返回页面输出内容
        /// </summary>
        /// <param name="PageURL"></param>
        /// <param name="Method"></param>
        /// <param name="Data"></param>
        /// <param name="Charset"></param>
        /// <returns></returns>
        public static String GetPage(String PageURL, string Method, string Data, String Charset)
        {
            String strHtml = "";
            try
            {
                //连接到目标网页
                HttpWebRequest wreq = (HttpWebRequest)WebRequest.Create(PageURL);
                wreq.Method = Method;
                wreq.ContentType = "application/x-www-form-urlencoded";
                wreq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8";

                if (!string.IsNullOrEmpty(Data))
                {
                    using (StreamWriter dataWriter = new StreamWriter(wreq.GetRequestStream()))
                    {
                        dataWriter.Write("params=" + Data);
                        dataWriter.Close();
                    }
                }

                HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse();
                //采用流读取,并确定编码方式
                Stream s = wresp.GetResponseStream();
                StreamReader objReader = new StreamReader(s, Encoding.GetEncoding(Charset));
                strHtml = objReader.ReadToEnd();
                objReader.Close();
                return strHtml;
            }
            catch (WebException ex)
            {
                if (ex.Response != null)
                {
                    HttpWebResponse res = ex.Response as HttpWebResponse;

                    if (res.StatusCode == HttpStatusCode.InternalServerError)
                    {
                        Stream s = res.GetResponseStream();
                        StreamReader objReader = new StreamReader(s, System.Text.Encoding.GetEncoding(Charset));
                        strHtml = objReader.ReadToEnd();
                        objReader.Close();
                    }
                    else
                    {
                        strHtml = ex.Message;
                    }
                }
                else
                {
                    strHtml = ex.Message;
                }
                return strHtml;
            }
        }

        /// <summary>
        /// 请求指定页面并返回页面输出内容
        /// </summary>
        /// <param name="PageURL"></param>
        /// <param name="Method"></param>
        /// <param name="Data"></param>
        /// <param name="Charset"></param>
        /// <returns></returns>
        public static String GetPagejson(String PageURL, string Method, string Data, String Charset)
        {
            String strHtml = "";
            try
            {
                //连接到目标网页
                HttpWebRequest wreq = (HttpWebRequest)WebRequest.Create(PageURL);
                wreq.Method = Method;
                wreq.ContentType = "application/json";
                wreq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8";
                if (!string.IsNullOrEmpty(Data))
                {
                    using (StreamWriter dataWriter = new StreamWriter(wreq.GetRequestStream()))
                    {
                        dataWriter.Write(Data);
                        dataWriter.Close();
                    }
                }

                HttpWebResponse wresp = (HttpWebResponse)wreq.GetResponse();
                //采用流读取,并确定编码方式
                Stream s = wresp.GetResponseStream();
                StreamReader objReader = new StreamReader(s, Encoding.GetEncoding(Charset));
                strHtml = objReader.ReadToEnd();
                objReader.Close();
                return strHtml;
            }
            catch (WebException ex)
            {
                if (ex.Response != null)
                {
                    HttpWebResponse res = ex.Response as HttpWebResponse;

                    if (res.StatusCode == HttpStatusCode.InternalServerError)
                    {
                        Stream s = res.GetResponseStream();
                        StreamReader objReader = new StreamReader(s, System.Text.Encoding.GetEncoding(Charset));
                        strHtml = objReader.ReadToEnd();
                        objReader.Close();
                    }
                    else
                    {
                        strHtml = ex.Message;
                    }
                }
                else
                {
                    strHtml = ex.Message;
                }
                return strHtml;
            }
        }

发布了17 篇原创文章 · 获赞 4 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/ruo40018293/article/details/87875542
今日推荐