Java 通过设置Referer反盗链
导读:收集整理的这篇文章主要介绍了Java 通过设置Referer反盗链,觉得挺不错的,现在分享给大家,也给大家做个参考。 下面是完整的代码。复制代码 代码如下:package cn.seAr...
收集整理的这篇文章主要介绍了Java 通过设置Referer反盗链,觉得挺不错的,现在分享给大家,也给大家做个参考。 下面是完整的代码。复制代码 代码如下:
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;
}
}
}
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Java 通过设置Referer反盗链
本文地址: https://pptw.com/jishu/604886.html
