首页 新闻 会员 周边 捐助

图片防盗破解

0
悬赏园豆:80 [已解决问题] 解决于 2014-05-30 16:57

项目原因引入了大网站的图片,但是人家做了防盗,问下告诉如何破解(程序或者js解决)

类似于这种解决办法就算了吧http://www.poco.cn/qing/assets/image.php?img_url=图片地址

不胜感谢!

问题补充:

在线等啊,真心求建议和知道~~谢谢

You最温暖的港湾的主页 You最温暖的港湾 | 初学一级 | 园豆:103
提问于:2014-05-20 15:16
< >
分享
最佳答案
0

就好比模拟登陆一样,页面需要请求图片,图片链接指向后台,后台将连接转换成指向网站A的链接,然后用HttpRequest去下载这个图片,下载后返回给前端。思路则是C#在后台代码,模仿是当前网站的请求,去下当前网站的图片,具体的属性设置refer什么的。

收获园豆:80
冲动 | 菜鸟二级 |园豆:394 | 2014-05-20 17:50

 恩谢谢。。只能这样了

You最温暖的港湾 | 园豆:103 (初学一级) | 2014-05-20 20:57
其他回答(4)
0

前端发出的请求,你没办法控制请求头的,除非浏览器是你自己的

吴瑞祥 | 园豆:29449 (高人七级) | 2014-05-20 15:22

 恩,纠结

支持(0) 反对(0) You最温暖的港湾 | 园豆:103 (初学一级) | 2014-05-20 15:25

@You最温暖的港湾: 你试下看iframe有没有用,能有的思路就是靠他了`

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-05-20 15:27
0

用windowsform的WebBrowser浏览你要浏览的网站,然后引用mshtml.dll,搜索到所有的<img>标签,用下面的方法就可以获取到图片了!

private Image GetWebImage(WebBrowser WebCtl, HtmlElement ImgeTag)
        {
            HTMLDocument doc = (HTMLDocument)WebCtl.Document.DomDocument;
            HTMLBody body = (HTMLBody)doc.body;
            IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange();
            IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //图片地址

            Image oldImage = Clipboard.GetImage();
            rang.add(Img);
            rang.execCommand("Copy", false, null);  //拷贝到内存
            Image numImage = Clipboard.GetImage();
            try
            {
                Clipboard.SetImage(oldImage);
            }
            catch
            {
            }

            return numImage;
        }
刘宏玺 | 园豆:14020 (专家六级) | 2014-05-20 15:41

不是windowsform能搞吗?我这是网站。。还有那个dll我没有找到的说~

支持(0) 反对(0) You最温暖的港湾 | 园豆:103 (初学一级) | 2014-05-20 15:58
0

有图片地址就能下载图片到本地,能下载到本地就能拿过来用

89330825 | 园豆:202 (菜鸟二级) | 2014-05-20 16:35
0

我又回来了,问题解决了

办法

http://local.aspx(自己网站的页面)img_url=要链接的图片地址

local的后台代码

this.Response.Clear();
string url = this.Request["uri"];
if (!string.IsNullOrEmpty(url))
{
WebClient wc = new WebClient();
wc.Headers.Set("Referer", "");
Response.BinaryWrite(wc.DownloadData(url));
wc.Dispose();
}

测试通过!

You最温暖的港湾 | 园豆:103 (初学一级) | 2014-05-30 16:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册