Estoy escribiendo una aplicación para verificar el estado de algunas aplicaciones web internas. Algunas de estas aplicaciones usan la autenticación de Windows. Cuando uso este código para verificar el estado, arroja The remote server returned an error: (401) Unauthorized.
. Lo cual es comprensible porque no he proporcionado ninguna credencial al sitio web, así que no estoy autorizado.
Cómo ignorar el error 401 no autorizado de webrequest para obtener el estado del sitio web
WebResponse objResponse = null;
WebRequest objRequest = HttpWebRequest.Create(website);
objResponse = objRequest.GetResponse();
¿Hay una manera de ignorar el error 401 sin hacer algo como esto?
WebRequest objRequest = HttpWebRequest.Create(website);
try
{
objResponse = objRequest.GetResponse();
}
catch (WebException ex)
{
//Catch and ignore 401 Unauthorized errors because this means the site is up, the app just doesn't have authorization to use it.
if (!ex.Message.Contains("The remote server returned an error: (401) Unauthorized."))
{
throw;
}
}
¿Qué quiere decir con 'ignorar' aquí, pasar a la página siguiente? –
Probablemente no ayude con la excepción en absoluto, pero debería hacer una solicitud HEAD ya que es más ligera y maneja bien esta situación. –
@HenkHolterman O bien una propiedad que hace que webrequest no arroje una excepción o simplemente se trague la excepción como he indicado anteriormente. – guanome