zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java通过设置Referer反盗链

JAVA 设置 通过 REFERER 盗链
2023-06-13 09:14:11 时间
下面是完整的代码。
复制代码代码如下:

packagecn.searchphoto.util;
importjava.io.File;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.net.URL;
importjava.net.URLConnection;
importjava.util.zip.GZIPInputStream;
/**
*下载远程网站的图片,通过设置Referer反反盗链。
*
*@authorJAVA世纪网(java2000.net,laozizhu.com)
*/
publicclassImageDownloader{
/**
*下载文件到指定位置
*@paramimgurl下载连接
*@paramf目标文件
*@return成功返回文件,失败返回null
*/
publicstaticFiledownload(Stringimgurl,Filef){
try{
URLurl=newURL(imgurl);
URLConnectioncon=url.openConnection();
intindex=imgurl.indexOf("/",10);
con.setRequestProperty("Host",index==-1?imgurl.substring(7):imgurl.substring(7,index));
con.setRequestProperty("Referer",imgurl);
InputStreamis=con.getInputStream();
if(con.getContentEncoding()!=null&&con.getContentEncoding().equalsIgnoreCase("gzip")){
is=newGZIPInputStream(con.getInputStream());
}
byte[]bs=newbyte[1024];
intlen=-1;
OutputStreamos=newFileOutputStream(f);
try{
while((len=is.read(bs))!=-1){
os.write(bs,0,len);
}
}finally{
try{
os.close();
}catch(Exceptionex){}
try{
is.close();
}catch(Exceptionex){}
}
returnf;
}catch(Exceptionex){
ex.printStackTrace();
returnnull;
}
}
}