Java下载网络https图片到本地

一 、首先安装下载网站的https证书

1.输入下载图片链接,点击浏览器地址栏中的锁标识

2.点击“连接是安全的”--“证书有效”--“详细信息”--“复制到文件”--“下一步”,输入文件名,导出证书文件。

二、 把下载好的安全证书导入到你本地安装的jdk里面

1.进入到自己的/jre/bin目录,我的是"C:\Program Files\Java\jdk1.8\jre\bin"

# 特别提示,路径加上双引号,因为Program Files带有空格,不加引号会报错

cd "C:\Program Files\Java\jdk1.8\jre\bin"

2.执行导入命令

keytool -import -v -trustcacerts -alias my_cert -file F:\my_cert.cer -storepass changeit -keystore "C:\Program Files\Java\jdk1.8\jre\lib\security\cacerts"

3.是否信任此证书,输入“y”

4.Linux下的导入命令

cd /usr/java/jdk1.8.0_121/jre/lib/security/

keytool -import -alias 证书名 -keystore cacerts -file 证书路径/test.cer -trustcacerts

三、下载代码:

String imgUrl = "https://xxxx.jpg";

String imageName = imgUrl.substring(imgUrl.lastIndexOf("/")+1);

// 构造URL

URL url = new URL(imgUrl);

// 打开连接

URLConnection con = url.openConnection();

// 输入流

InputStream is = con.getInputStream();

// 1K的数据缓冲

byte[] bs = new byte[1024];

// 读取到的数据长度

int len = -1;

// 输出的文件流

File file = new File("D:/download/" + imageName);

FileOutputStream os = new FileOutputStream(file, true);

// 开始读取

while ((len = is.read(bs)) != -1) {

    os.write(bs, 0, len);

}

// 完毕,关闭所有链接

os.close();

is.close();

你可能感兴趣的:(Java下载网络https图片到本地)