WebClient.DownloadData返回404找不到的文件。是什么导致这个?

时间:2011-01-05 00:41:57

标签: c#

我可以从WebClient.DownloadData打开图像,但是对于一些能够通过网络浏览器打开的网址,如果通过WebClient.DownloadData使用,则无法获取图像字节数组。

如果我可以通过浏览器查看,为什么我得到http 404文件未找到异常。

WebException was unhandled.

The remote server returned an error: (404) Not Found.

感谢。

3 个答案:

答案 0 :(得分:2)

如果URL有效,也许他们有一些反浸出机制,例如检查引用者或cookie。

您可以使用类似Fidler的内容来检查网络浏览器请求,并确保您的下载请求相同。

答案 1 :(得分:0)

确保您的请求与浏览器的请求相同/相似。

最简单的方法是使用Fiddler并将其设置为记录来自所有进程的请求,而不是从浏览器和应用程序运行请求。查找2个请求的url,方法和标头之间的差异,以查看导致它的原因。 (您需要将程序配置为使用本地代理进行Web请求以获取通过Fiddler跟踪的HTTP请求。)

答案 2 :(得分:0)

尝试使用此代码。将Referer设置为类似google.com http://www.pastie.org/1429985

的内容