在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
下面是完整的代码。 复制代码 代码如下: 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; } } } |
请发表评论