Saltar al contenido

WebClient 403 Prohibido

Posterior a consultar con especialistas en este tema, programadores de varias áreas y maestros hemos dado con la respuesta al dilema y la plasmamos en este post.

Simplemente agregue una línea simple antes de realizar su descarga:

string url = ... 
string fileName = ...

WebClient wb = new WebClient();
wb.Headers.Add("User-Agent: Other");   //that is the simple line!
wb.DownloadFile(url, fileName);

Eso es todo.

403 también puede ser causado por problemas de TLS. Para verificar, debe verificar el texto del objeto WebException.Response.

     catch (WebException ex)
     
        if (ex.Response != null)
        
           var response = ex.Response;
           var dataStream = response.GetResponseStream();
           var reader = new StreamReader(dataStream);
           var details = reader.ReadToEnd();
        
     

Si es TLS, intente agregar esto a su código para forzar TLS1.2.

Para .net4:

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

Para .net4.5 o posterior:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

Tuve este problema al intentar descargar una imagen de la URL de un sitio de SharePoint. En mi caso configurando el user-agent a Otro o en blanco en el encabezado no fue suficiente, tuve que configurar el user-agent como sigue en su lugar:

client.Headers.Add("user-agent", " Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0");

Esa solución vino de esta respuesta.

Comentarios y valoraciones del tutorial

Puedes añadir valor a nuestro contenido informacional cooperando tu experiencia en las reseñas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *