Java 通过设置Referer反盗链

2016-02-19 09:41 55 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐Java 通过设置Referer反盗链,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

下面是完整的代码。
代码如下:

package cn.searchphoto.util;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.zip.GZIPInputStream;
/**
* 下载远程网站的图片,通过设置Referer反反盗链。
*
* @author JAVA世纪网(java2000.net, laozizhu.com)
*/
public class ImageDownloader {
/**
* 下载文件到指定位置
* @param imgurl 下载连接
* @param f 目标文件
* @return 成功返回文件,失败返回null
*/
public static File download(String imgurl, File f) {
try {
URL url = new URL(imgurl);
URLConnection con = url.openConnection();
int index = imgurl.indexOf("/", 10);
con.setRequestProperty("Host", index == -1 ? imgurl.substring(7) : imgurl.substring(7, index));
con.setRequestProperty("Referer", imgurl);
InputStream is = con.getInputStream();
if (con.getContentEncoding() != null && con.getContentEncoding().equalsIgnoreCase("gzip")) {
is = new GZIPInputStream(con.getInputStream());
}
byte[] bs = new byte[1024];
int len = -1;
OutputStream os = new FileOutputStream(f);
try {
while ((len = is.read(bs)) != -1) {
os.write(bs, 0, len);
}
} finally {
try {
os.close();
} catch (Exception ex) {}
try {
is.close();
} catch (Exception ex) {}
}
return f;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
}

来源:http://www.tulaoshi.com/n/20160219/1591742.html

延伸阅读
标签: 服务器
我来教你玩转MYIIS-VIF 防盗链 基础防盗链 防盗链是什么意思呢?就是您在服务器上发布了一些图片,视频,音频,压缩包等等一些素材资源的时候,你希望访问者是通过您的页面地址下载获得的。而不是将您的地址引用到其他站点下载的。这将不尊重发布者的成果。防盗链还可以间接的降低你网站的流量,避免不必要的损失。如今CDN不是按流量算钱的...
前一段时间,我用java开发一个安装程序,适用于tomcat mysql构建的web环境。在开发的过程中遇到与写注册表,注册系统服务等问题用java本身很难解决,于是我想到用JNI。C与delphi两者开发JNI,我是从delphi转到java上来的,我选择了delphi。 用delphi开发JNI,首先从http://delphi-jedi.org 下载JNI.pas,把它加入到工程中就可以开发J...
标签: Web开发
HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东。 以下是伪造方法: ASP: dim http set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以 Http.open "GET",url,false Http.setRequestHeader "Referer","http://www.devdao.com/" Http.send() ...
标签: Java JAVA基础
本技巧将向您讲述如何编写可通过代理访问因特网上的Web服务器的Java应用程序。在Java应用程序中加入代理支持只需额外编写几行代码,且不依赖任何安全性“漏洞”。 几乎所有的公司都十分关注保护自己的内部网络,以防黑客及入窃者。一种常见的安全措施是完全断开与因特网的连接。如果黑客们不能连接到您的任何一台机器,他们...
通过WAP飞信进行群设置 在群资料详情窗口,点击群功能设置链接,进入群设置窗口。群功能设置包括以下方面:群消息设置、群邀请设置。 群消息设置:设置接收该群群消息的策略,包括接收并提示消息、接收但不提示消息、拒绝该群的即时消息三个选项。 群邀请设置:设置是否允许该群的群成员邀请自己的好友加入群,包括允许成员...

经验教程

21

收藏

33
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部