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
pictureBox1.Load("http://www.bajui.com/thumb_fichas/273116_m.jpg");
Código
pictureBox1.LoadAsync("http://www.bajui.com/thumb_fichas/273116_m.jpg");
Código
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)) { 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.Drawing.Image Image = System.Drawing.Image.FromStream(ImageMemoryStream); ImageMemoryStream.Close(); ImageMemoryStream.Dispose(); return Image; } else { return null; } }
Muchas gracias de antemano!
