Verificar la existencia de una url

2220 vistas

Cuando una dirección no existe o no se puede mostrar la página por alguna razón, el servidor envía un número de error. La función que mostramos aquà devuelve false si se produce una excepción en la "lectura" de la página. Cave destacar que se realiza el mismo test en el catch devido a que algunos servidores hacen diferencia entre "http://site/rep" y "http://site/rep/".



csharp
  1. public static bool UrlIsValid(string Host)
  2. {
  3.   HttpWebRequest oRequest = null;
  4.   HttpWebResponse oResponse = null;
  5.   try
  6.   {
  7.     oRequest = (HttpWebRequest) WebRequest.Create(BuildUrl(Host));
  8.     oResponse = (HttpWebResponse)oRequest.GetResponse();
  9.     return true;
  10.   }
  11.   catch (Exception)
  12.   {
  13.     try
  14.     {
  15.       oRequest = (HttpWebRequest) WebRequest.Create(BuildUrl(Host)+"\\");
  16.       oResponse = (HttpWebResponse)oRequest.GetResponse();
  17.       return true;
  18.     }
  19.     catch (Exception)
  20.     {
  21.       return false;
  22.     }
  23.   }
  24. }



BuildUrl añade el "http://" si es necesario.



csharp
  1. public static string BuildUrl(string Url)
  2. {
  3.   if (Url.StartsWith("http://"))
  4.     return Url;
  5.   return Url.Insert(0, "http://");
  6. }