Descargar imagen con este error: Error en el servidor remoto: (403) Prohibido.??

Iniciado por TomaSs, 26 Febrero 2017, 20:01 PM

0 Miembros y 1 Visitante están viendo este tema.

TomaSs

Hola chicos,

Pues este el mi problema, resulta que estoy tratando de cargar una imagen en un picturebox, cargándola directamente de una URL(esta concretamente), pero al tratar de hacerlo me devuelve el siguiente error:
Error en el servidor remoto: (403) Prohibido.

Lo que se me hace raro es que desde el navegador no hay ningún problema en cargarla y yo he tratado de hacerlo de diferentes maneras, directamente con el load del picturebox, y simulando una descarga incluyendo las cabeceras de la petición que se mandan al acceder desde navegador, y nada...
Aquí dejo los códigos de las dos formas que he intentado para ver si podéis ver algo, o si se os ocurre por que puede devolver ese error.

Código (csharp) [Seleccionar]
pictureBox1.Load("http://www.bajui.com/thumb_fichas/273116_m.jpg");

Código (csharp) [Seleccionar]
pictureBox1.LoadAsync("http://www.bajui.com/thumb_fichas/273116_m.jpg");

Código (csharp) [Seleccionar]

pictureBox1.Image = LoadImage("http://www.bajui.com/thumb_fichas/273116_m.jpg");

        public System.Drawing.Image LoadImage(System.String ImageUrl)
       {
           System.Uri Uri = null;
           if (System.Uri.TryCreate(ImageUrl, System.UriKind.Absolute, out Uri))
           {
               System.Net.WebClient WebClient = new System.Net.WebClient();
               WebClient.Headers.Add(System.Net.HttpRequestHeader.UserAgent, "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36");
               WebClient.Headers.Add(System.Net.HttpRequestHeader.Accept, "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
               WebClient.Headers.Add(System.Net.HttpRequestHeader.Host, "www.bajui.com");
               WebClient.Headers.Add(System.Net.HttpRequestHeader.Pragma, "no-cache");
               WebClient.Headers.Add(System.Net.HttpRequestHeader.CacheControl, "no-cache");
               WebClient.Headers.Add(System.Net.HttpRequestHeader.Upgrade, "1");
               WebClient.Headers.Add(System.Net.HttpRequestHeader.AcceptEncoding, "gzip, deflate, sdch");
               WebClient.Headers.Add(System.Net.HttpRequestHeader.AcceptLanguage, "es,en-GB;q=0.8,en;q=0.6");
               WebClient.Headers.Add(System.Net.HttpRequestHeader.Cookie, "__utma=38917168.747487441.1455653731.1470859119.1474041540.19; __utmz=38917168.1455653731.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _ga=GA1.2.747487441.1455653731; __cfduid=de082793b488840ffce7177ab686dd74e1481060560; layer=1");
               WebClient.Headers.Add("DNT", "1");
               WebClient.Headers.Add("Upgrade-Insecure-Requests", "1");

               System.Byte[] ImageBytes = WebClient.DownloadData(ImageUrl);
               WebClient.Dispose();

               System.IO.MemoryStream ImageMemoryStream = new System.IO.MemoryStream(ImageBytes);
               System.Drawing.Image Image = System.Drawing.Image.FromStream(ImageMemoryStream);
               ImageMemoryStream.Close();
               ImageMemoryStream.Dispose();
               return Image;
           }
           else
           {
               return null;
           }
       }


Muchas gracias de antemano! ;)

TomaSs

Vale, perfecto, pues ya me respondo yo mismo, porque después de mucho mirar, he probado a desactivar el antivirus y con el método más básico (Load) ha funcionado sin problemas. Después de mucho probar diferentes métodos, al final ha resultado ser eso, y lo curioso es que ya tenía el programita incluido en excepciones del firewall, pero por lo que se ve es del propio antivirus que tiene bloqueada esa web...

Ya se puede cerrar el tema.