Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > jsp入门教程

Java_通过设置Referer反盗链

来源:中文源码网    浏览:368 次    日期:2024-03-27 03:04:27
【下载文档:  Java_通过设置Referer反盗链.txt 】


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; } } }

相关内容