1 c# webclient download server-error
下面是所有真正需要工作的代码。我有理由相信这个问题只与discogs有关。如果是discogs,我想知道一种解决方法,例如模拟浏览器。
使用下面的代码它应该连接到页面然后下载图像,但是当我运行它时会出现 503 错误。如果我使用相同的链接连接到页面,它将在我的浏览器中显示图像。
WebClient client = new WebClient();
client.DownloadFile("https://img.discogs.com/h7oMsgLSWi7D6nBR8wdBwWulJ8w=/fit-in/600x600/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9259029-1477514675-9740.jpeg.jpg", @"C:\Programming\Test\downloadimage.jpg");
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用 Imgur,并使用程序执行此操作,它会按预期下载图像。
client.DownloadFile("http://i.imgur.com/sFq0wAC.jpg", @"C:\Programming\Test\downloadimage.jpg");
Run Code Online (Sandbox Code Playgroud)
我能够使用客户端连接到discogs,甚至通过它运行搜索并使用client.DownloadString("url"); 以文本形式(尽管通过html)获取结果;
但我无法下载任何图像。我将不胜感激,此时我想要的只是图像。
您可以在标头中添加一个用户代理,假装它是来自浏览器的请求。
WebClient client = new WebClient();
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
client.DownloadFile("https://img.discogs.com/h7oMsgLSWi7D6nBR8wdBwWulJ8w=/fit-in/600x600/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9259029-1477514675-9740.jpeg.jpg", @"C:\Programming\Test\downloadimage.jpg");
Run Code Online (Sandbox Code Playgroud)