背景:
近期,因客户需要,我们需要将一些文件从阿里云的oss上复制到客户提供的ftp上,但是客户提供的ftp的证书早就过期了,用正常ftp登陆代码一直登陆超时,同事找了几天都没有解决,后来解决了,我也顺便看了一下代码,因为之前只写过https跳过ssl证书的代码,ftp也是首次碰到,下面贴下代码,防止更多道友踩坑,主要代码如下:
try {
// 创建OSSClient实例。
ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// ossObject包含文件所在的存储空间名称、文件名称、文件元信息以及一个输入流。
OSSObject ossObject = ossClient.getObject(bucketName, objectName);
// 读取文件内容。
InputStream is = ossObject.getObjectContent();
//创建SSL上下文
SSLContext sslContext = SSLContext.getInstance("TLS");
//自定义证书,忽略已过期证书
TrustManager[] trustAllCerts = new TrustManager[1];
TrustManager tm = new miTM();
trustAllCerts[0] = tm;
//初始化
sslContext.init(null, trustAllCerts, null);
//创建客户端,加密选择Implicit
ftpClient = new FTPSClient(true, sslContext);
//连接ftp
ftpClient.connect(hostname, Integer.parseInt(port));
//登陆ftp


2101

被折叠的 条评论
为什么被折叠?



