求解决 ASP.NET DownloadFile无法下载远程防盗链过的图片,例如百度的图片

如题,如果直接把路径赋值给IMG会显示图片防盗链的提示

如果使用

WebClient wc = new WebClient();
wc.DownloadFile(imgUrl, filepath);

或者 webResponse.GetResponseStream() 的形式无法下载图片,百度会提示

该URL非法指向百度IP,禁止访问!如需访问百度,请点击 www.baidu.com。

下载或流的形式都会给我返回这个地址
http://error.baidu.com/errorname.html?url=&fr=space-hiphotos

求解决方案破解啊,目的是直接在自己的网站客户端先显示再下载到自己的服务器,主要是能下载破解防盗链的图片即可

2个回答

增加来源

 WebClient wc = new WebClient();
wc.Headers.Add(HttpRequestHeader.Referer, imgUr);
wc.DownloadFile(imgUrl, filepath);
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复gss19920326: 我这里设置为空是可以下载图片的。。~
接近 6 年之前 回复
gss19920326
怜惜月110 谢谢,已经解决了,试了下百度的设置来源为空不行,还是直接用imgurl吧
接近 6 年之前 回复
gss19920326
怜惜月110 回复showbo:
接近 6 年之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 或者设置来源为空也行, wc.Headers.Add(HttpRequestHeader.Referer, "");
接近 6 年之前 回复

无非就是两条,一个是cookie一个是referer。
你可以用fiddler调试下,看看浏览器请求图片这两个值是什么。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐