jueves, noviembre 21, 2024

Verificar conexión con Internet o un URL desde .NET

Principalmente cuando se trabaja con url remotas o webservices en ocasiones es necesario consultar si tenemos conexión de Internet o conexión con el url que deseamos consultar. Esta función retorna True o False sobre un url brindado, lo puedes modificar para retornar específicamente el error generado.

En la captura del error puedes ver que cada tipo de mensaje tiene un código distinto, por no disponibilidad o falta de conexión o error de url no existente, etc.

Código C#

public bool VerificarConexionURL(string mURL)
{
	System.Net.WebRequest Peticion = default(System.Net.WebRequest);
	System.Net.HttpWebResponse Respuesta = default(System.Net.WebResponse);
	try {
		Peticion = System.Net.WebRequest.Create(mURL);
		Respuesta = Peticion.GetResponse();
		return true;
	} catch (System.Net.WebException ex) {
		if (ex.Status == Net.WebExceptionStatus.NameResolutionFailure) {
			return false;
		}
		return false;
	}
}

Código VB.Net

Public Function VerificarConexionURL(ByVal mURL As String) As Boolean
    Dim Peticion As System.Net.WebRequest
    Dim Respuesta As System.Net.WebResponse
    Try
        Peticion = System.Net.WebRequest.Create(mURL)
        Respuesta = Peticion.GetResponse()
        Return True
    Catch ex As System.Net.WebException
        If ex.Status = Net.WebExceptionStatus.NameResolutionFailure Then
            Return False
        End If
        Return False
    End Try
End Function

 

Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub
Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub