none
StatusCode en HttpWebRequest RRS feed

  • Pregunta

  • Buenos días,

    Estoy intentando conectarme a una url y obtener el estado de la página (200,404...) pero cuando no es el 200 salta la exceptión con el 404. 

    ¿Cómo puedo corregir el código para que no salte el código al catch y recuperar ese estado de la página?.

    La excepción la lanza la línea en negrita.

    Gracias!!!!

    'Crear la solicitud
    request = TryCast(WebRequest.Create(url), HttpWebRequest)

    response = request.GetResponse()
    If response.StatusCode = HttpStatusCode.OK Then
           'Obtener la respuesta y abrir el stream de la respuesta recibida
           reader = New StreamReader(response.GetResponseStream())
           'Almacenar el contenido
           content = reader.ReadToEnd()
    Else
          estado = CStr(response.StatusCode)
    End If

    martes, 30 de mayo de 2017 10:40

Todas las respuestas

  • Buenos días Enrique,

    la url que le estoy dando es una que da el error de 404, que es el valor que quiero que capture.

    Pero la excepción que lanza no es el error 404 sino Anulada la solicitud: la conexión ha terminado de forma inesperada.

    Solo he consegudo que capture ese error si establezco la protocolversion a la versión 1.0, en vez de la 1.1.

    Puse el condicional que me indico en su código pero no es nothing lo que devuelve.

    'Crear la solicitud
    request = TryCast(WebRequest.Create(url), HttpWebRequest)
    If request IsNot Nothing Then
           'Obtener la respuesta del servidor
           response = request.GetResponse()
           If response.StatusCode = HttpStatusCode.OK Then
                 'Estado
                 estado = response.StatusCode
                 'Obtener la respuesta y abrir el stream de la respuesta recibida
                 reader = New StreamReader(request.GetResponse().GetResponseStream())
                 'Almacenar el contenido
                 content = reader.ReadToEnd()
          Else
                 estado = CStr(response.StatusCode)
          End If
    End If

    Gracias!!!

    lunes, 5 de junio de 2017 7:27