1、导出网站证书
点击网站锁,右键另存为
或者命令下载证书
echo -n | openssl s_client -connect www.baidu.com:8006 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > baidu.cert
如果要下载链中的所有证书,可以使用-showcerts.但是,如果您只想下载服务器证书,则无需指定-showcerts
echo -n给服务器一个响应,以便释放连接
sed -ne’/ -BEGIN CERTIFICATE – /,/ – END CERTIFICATE- / p’删除有关证书链和连接详细信息的信息.这是将证书导入其他密钥库的首选格式.
2、java导入网站证书
/apprun/jdk/bin/keytool -import -trustcacerts -alias cacertsbaidu -keystore /apprun/jdk/jre/lib/security/cacerts -file /home/apprun/tmp/baidu.cer -storepass changeit
此时命令行会 提示你输入cacerts证书库的密码,你敲入changeit就行了,这是java中cacerts证书 库的默认密码,
3、java下载图片
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
public class TEST{
public static void main(String [] args) {
download();
};
//@Test
public static void download() {
// 图片地址
String strUrl = "https://***/antranceGuardPicture/15107664292_20211015095726.jpg";
downloadImgByNet(strUrl, "/home/apprun/tmp/", "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();
//控制流的大小为1k
byte[] 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();
}
}
}
/apprun/jdk/bin/javac TEST.java
/apprun/jdk/bin/java TEST