ASP.NET使用HttpWebRequest读取远程网页源代码

532 查看

读取远程网页能做什么就不用多说了吧,做小偷程序或是采集,也就诸如此类了吧。

public string GetPage(string url)
{

  HttpWebRequest request = null;

  HttpWebResponse response = null;

  StreamReader reader = null;

  try
  {

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

    request.Timeout = 20000;

    request.AllowAutoRedirect = false;

    response = (HttpWebResponse)request.GetResponse();

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

      reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.Default);

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