源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Java 通过设置Referer反盗链

  • 时间:2022-04-17 04:37 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Java 通过设置Referer反盗链
下面是完整的代码。
[u]复制代码[/u] 代码如下:
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; } } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部