Estoy usando WebClient.DownloadString(url) para descargar una página web, cuando una url de un error 404 de página web en el que se detiene y no funciona más.
Quiero saltar estas páginas cuando llegué a este fallo.

si la url es página de error 404, no se inicia la descarga. así que no se puede analizar la undownloaded de datos…

  • Por favor, no prefijo de sus títulos con «C#» y tal. Eso es lo que las etiquetas son para.

2 Comentarios

  1. 12

    Tendrá que capturar la Excepción y una prueba para un 404:

    try
    {
        string myString;
        using (WebClient wc = new WebClient())
            myString= wc.DownloadString("http://foo.com");
    
    }
    catch (WebException ex)
    {
        if (ex.Status == WebExceptionStatus.ProtocolError && ex.Response != null)
        {
            var resp = (HttpWebResponse)ex.Response;
            if (resp.StatusCode == HttpStatusCode.NotFound) //HTTP 404
            {
                //the page was not found, continue with next in the for loop
                continue;
            }
        }
        //throw any other exception - this should not occur
        throw;
    }
    • He probado esta respuesta en mi proyecto. pero falla al lanzar con el 404. error. Sólo debo quitar tirar? o es que hay una forma más elegante de acercarse a ella.
  2. 0

    Usted puede poner su código en un Try...Catch bloquear y atrapar a un WebException. Si desea más control sobre cómo manejar los errores específicos, puede utilizar el WebException del Status propiedad que devuelve un WebExceptionStatus enumeración.

Dejar respuesta

Please enter your comment!
Please enter your name here