java下载https的网络图片,添加安全证书方式

  • 一、下载网址安全证书,导入证书
    • 需要从所访问的https网址上下载一个安全证书,名字自定义
    • 把下载好的安全证书导入到你本地安装的jdk里面(win10)
      • windows+x 快捷键,选择管理员运行 powershell
      • 执行导入命令
  • 二、java运行java程序下载图片

一、下载网址安全证书,导入证书

需要从所访问的https网址上下载一个安全证书,名字自定义









把下载好的安全证书导入到你本地安装的jdk里面(win10)

windows+x 快捷键,选择管理员运行 powershell

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

# 特别提示,路径加上双引号,因为Program Files带有空格,不加引号会报错
cd "C:\Program Files\Java\jdk1.8\jre\bin"

不加引号报错:

加上引号

执行导入命令

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"

解释说明:

  1. -alias hik_cert, hik_cert是可以自己修改的名称, -file F:\my_cert.cer 是上边导出的证书的位置,同样,这里的证书名字也是随便取的,但前提是保证将C:\Program Files\Java\jdk1.8\jre\lib\security\目录的cacerts文件内之前没有导入同名证书,就是要保证你将要导入的证书名称唯一性。
  2. changeit 是密码, java默认的。
  3. keytool是jdk中bin目录的一个exe文件,是jdk默认自带的,在我电脑的目录是:C:\Program Files\Java\jdk1.8\jre\bin\keytool.exe
  4. 其他保持不变。
  5. 如果提示:“是否信任此证书? [否]:” ,那么请输入"y"。
  6. 当出现:”证书已添加到密钥库中 [正在存储cacerts]“的时候,那么恭喜你已经添加成功。

二、java运行java程序下载图片

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;@Testpublic void download() {// 图片地址String strUrl = "https://**********";downloadImgByNet(strUrl, "F:\\", "222.png");}/*** 抓取网上的图片** @param imgSrc* @param filePath*/public static void downloadImgByNet(String imgSrc, String filePath, String fileName) {try {URL url = new URL(imgSrc);URLConnection conn = url.openConnection();//设置超时间为3秒conn.setConnectTimeout(3 * 1000);//防止屏蔽程序抓取而返回403错误conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");//输出流InputStream str = conn.getInputStream();//控制流的大小为1kbyte[] bs = new byte[1024];//读取到的长度int len = 0;//是否需要创建文件夹File saveDir = new File(filePath);if (!saveDir.exists()) {saveDir.mkdir();}File file = new File(saveDir + File.separator + fileName);//实例输出一个对象FileOutputStream out = new FileOutputStream(file);//循环判断,如果读取的个数b为空了,则is.read()方法返回-1,具体请参考InputStream的read();while ((len = str.read(bs)) != -1) {//将对象写入到对应的文件中out.write(bs, 0, len);}//刷新流out.flush();//关闭流out.close();str.close();System.out.println("下载成功");} catch (Exception e) {e.printStackTrace();}}

java下载https的网络图片,添加安全证书方式相关推荐

  1. java ssl https 连接详解 生成证书

    我们在关于Java EE安全的系列文章中,有一篇也详细介绍了如何在Java EE应用中创建SSL连接和证书.正如前面文章提到的,SSL(Secure Sockets Layer,安全套接层)/TLS( ...

  2. yaourt下载安装dropbox提示curl ssl证书错误

    错误描述:   $yaourt -S dropbox y   curl: (60) SSL certificate problem: unable to get local issuer certif ...

  3. 给自己的网址加上https,添加ssl证书(springboot项目)

    给自己的网址加上https,添加ssl证书 1.先去阿里云官网首页,登录,找到 *SSL证书* 2.点击 *立即购买* 3.选择好点击确定就可以 4.输入自己的域名和手机号,等待即可,成功他就叫给你发 ...

  4. 阿里云服务器给WordPress网站添加SSL证书,并且设置http自动跳转https

    给WordPress网站添加SSL证书,并且设置http自动跳转https 文章目录 下载证书到本地 上传证书到服务器 修改nginx配置文件 设置http跳转https 重启Nginx服务 联系方式 ...

  5. java实现https免证书认证

    java实现https免证书认证 解决方法: 1.下载两个包,httpclient-4.2.jar和httpcore-4.2.jar,复制以下代码就可使用. 2.调用类代码: String httpO ...

  6. jodd忽略ssl证书_关于java访问https资源时,忽略证书信任问题

    java程序在访问https资源时,出现报错 sun.security.validator.ValidatorException: PKIX path building failed: sun.sec ...

  7. java访问https链接下载图片

    java访问https链接下载图片 一.通过maven引入https工具包 <dependency><groupId>org.apache.httpcomponents< ...

  8. java在访问https资源时,忽略证书信任问题

    java程序在访问https资源时,出现报错 sun.security.validator.ValidatorException: PKIX path building failed: sun.sec ...

  9. 手机登录群晖出现ssl证书不可信_群晖WEB添加SSL证书实现HTTPS访问

    本篇文章禁止转载,谢谢~ 群晖WEBStation是一个扩展性非常强大的应用,它可以做导航.建网站.做博客.甚至能做图床,目前本博客数据和图床,就是建立在又拍云和家里的群晖之上的.又拍云做主仓,群晖做 ...

  10. BurpSuite抓https的包/BurpSuite CA证书下载

    BurpSuite抓https的包/BurpSuite CA证书下载 Burp Suite要抓HTTPS的包的话,是需要有Burp Suite的CA证书的 为什么要证书这里就不说了,下面是具体步骤 1 ...

最新文章

  1. ET.parse 中文
  2. vim括号匹配跳转操作
  3. python 列表中的数字转字符串_python 将列表中的字符串转为数字
  4. Request header field Content-Type is not allowed by Access-Control-Allow-Headers跨域
  5. 人脸识别的过程和算法
  6. python使用欧氏距离knn_python运用sklearn实现KNN分类算法
  7. python获取当前日期的前一天爆炸_python蒙特卡洛脚本模拟—挑战者号爆炸概率
  8. 使用AdvinceInstaller把exe或者msi重新包装成为msi静默安装程序
  9. DXUT框架剖析(5)
  10. Google Chrome不支持ClickOnce部署
  11. 伊斯兰教历的计算和各个月的名称
  12. Ansys workbench静应力分析基本流程
  13. Pega How To系列之二:如何做数据验证 ---- CheneyWang
  14. “元宵”大师带你用Python量化交易
  15. oracle的系统字符集,Oracle操作系统和支持-字符集
  16. java unbox_java base-05-Box UnBox 自动装拆箱
  17. Mysql数据库数据拆分之分库分表总结
  18. 从“闪电战”到全面战:荣耀开启“吓人的技术”2.0时代
  19. 可扩展标记语言XML
  20. 转的: 健康程序员:五分钟与鼠标手说再见

热门文章

  1. 公司项目JAVA开发规范总结(七)——编程规范
  2. editormd html 转义,Markdown(editormd)语法解析成HTML
  3. shiyou的数值分析作业
  4. 4*4矩阵键盘原理分析以及代码展示
  5. 时间管理表 - 《月总结计划表》
  6. vegas视频软件使用教程和笔记
  7. 学成在线-处理常见视频格式avi,mp4,mov,rmvb,flv
  8. python function terminated un_python僵尸进程产生的原因
  9. kX3552常用插件集
  10. 简单的权限管理系统——数据库设计和实现