破解图片防盗链方法(转)
很多网站都对自己的图片做了防止盗链的处理,目的是减轻服务器的压力,方式方法也都是大同小异。对于想直接通过<img src="人家的图片链接"/>来访问人家的链接的网站来说的症状就是,人家显示一个警告图片,你想看的图片莫名奇妙的变成了提示页面。
为此我们不得不破解图片防盗链的方法。
思路如下:你直接将图片的链接在浏览器中敲上,肯定可以显示。但是你内嵌到网页中通过img的src引用肯定没戏,那么我们只能在请求的时候读取一下图片的内容,然后在我们的页面显示了。
具体实施的时候,你需要这么处理:
在你的项目下建立一个jsp文件:images.jsp,内容如下
<%@page contentType="image/jpeg" import="java.io.OutputStream,java.io.InputStream,java.net.URL,java.net.URLConnection" language="java"%> <% try{ OutputStream os = response.getOutputStream(); //获取图片路径url=http://www.sohu.com/images/aaa.jpg String picPath = request.getQueryString(); //获取纯路径 http://www.sohu.com/images/aaa.jpg picPath = picPath.substring(4,picPath.length()); //建立请求链接 URLConnection u = new URL(picPath).openConnection(); InputStream in = u.getInputStream(); if (null != in) { int len; byte[] b = new byte[1024]; while ((len = in.read(b)) != -1) { os.write(b, 0, len); } os.flush(); in.close(); } os.close(); out.clear(); //将图片内容重写到页面 out = pageContext.pushBody(); }catch(Exception e){ e.printStackTrace(); } %>
然后在你所引用的别的网站页面的图片中
将<img src="http://comment.news.sohu.com/upload/as3rfsghgg/1.jpg"/>
换成:<img src="http://www.yourdomain.com/project/image.jsp?url=http://comment.news.sohu.com/upload/as3rfsghgg/1.jpg"/>
这样你就可以随意的将别的网站的图片放到自己公司的网站了。盗链成功了。
原理就是你创建的那个images.jsp文件将你url后的那个图片链接读取了然后重写到页面了。
PS:其实盗用比人的图片真心说这是不道德的,毕竟人家的劳动成果你一个复制粘贴就搞定了。
本文出自 小古Blog,转载时请注明出处及相应链接。
本文永久链接: http://blog.chdz1.com/?post=191