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

4
8276

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

 

4 COMMENTS

  1. Tiene un error el código, en vez de “HttpWebResponse”, debes poner “WebResponse”.

    Con eso ya funciona.

    Aquí el código.
    public bool VerificarConexionURL(string mURL)
    {
    System.Net.WebRequest Peticion = default(System.Net.WebRequest);
    System.Net.WebResponse 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;
    }
    }

    GS

  2. Hizo falta ponerle system en ex.Status == Net.WebExceptionStatus.NameResolutionFailure
    quedaría así al final:

    public bool VerificarConexionURL(string mURL)
    {
    System.Net.WebRequest Peticion = default(System.Net.WebRequest);
    System.Net.WebResponse 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 == System.Net.WebExceptionStatus.NameResolutionFailure)
    {
    return false;
    }
    return false;
    }
    }

LEAVE A REPLY

Please enter your comment!
Please enter your name here