HttpWebRequest請求超時異常的處理方法(重新發送請求到成功為止)


 

方法主要有2點:1.在GetResponse()超時后要重新發送請求;2.檢查是否異常,捕獲或拋掉異常。

publicstring GetHtml(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;

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM