HttpWebRequest 抓取页面异常处理办法

抓取页面异常处理办法

 

 public static string GetHtmlTest(string URI)
        {
            string fullhtml = null;
            while (true)
            {
                try
                {
                    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(URI);
                    req.Method = "GET";
                    req.UserAgent = "Opera/9.25 (Windows NT 6.0; U; en)";
                    req.KeepAlive = true;
                    req.Timeout = 6000000;
                    HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
                    if (resp.StatusCode != HttpStatusCode.OK) //如果服务器未响应,那么继续等待相应
                        continue;
                    StreamReader sr = new StreamReader(resp.GetResponseStream(), Encoding.UTF8);
                    fullhtml = sr.ReadToEnd().Trim();
                    resp.Close();
                    sr.Close();
                    break;
                }
                catch (WebException e)
                {
                    e.StackTrace.ToString();
                    System.Diagnostics.Trace.WriteLine(e.Message);
                    if (true)
                        continue;
                }
            }
            return fullhtml;
        }

 

posted @ 2015-02-06 11:21  程序员徐坤  阅读(1174)  评论(0编辑  收藏  举报