博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

用asp.net c# 获取网页源代码

Posted on 2008-12-04 11:06  linFen  阅读(1698)  评论(2编辑  收藏  举报
方法一:webrequest

 private string GetStringByUrl(string strUrl)
    {
        WebRequest wrt = WebRequest.Create(strUrl);
        WebResponse wrse = wrt.GetResponse();
        Stream strM = wrse.GetResponseStream();
        StreamReader SR = new StreamReader(strM, Encoding.GetEncoding("gb2312"));
        string strallstrm = SR.ReadToEnd();
        return strallstrm;
    }

方法二:HttpWebRequest

 public static string GetPage(string url, Encoding encoding)

        {

            HttpWebRequest request
= null;

            HttpWebResponse response
= null;

            StreamReader reader
= null;

           
try

            {

                request
= (HttpWebRequest)WebRequest.Create(url);

                request.UserAgent
= "www.svnhost.cn";

                request.Timeout
= 20000;

request.AllowAutoRedirect
= false;



                response
= (HttpWebResponse)request.GetResponse();

               
if (response.StatusCode == HttpStatusCode.OK && response.ContentLength < 1024 * 1024)

                {

                    reader
= new StreamReader(response.GetResponseStream(), encoding);

                   
string html = reader.ReadToEnd();



                   
return html;

                }

            }

           
catch

            {

            }

           
finally

            {

               
if (response != null)

                {

                    response.Close();

                    response
= null;

                }
               
if (reader != null)

                    reader.Close();

               
if (request != null)

                    request
= null;

            }

          
return string.Empty;

        }