`
majg
  • 浏览: 6520 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

利用ftp4j实现ftps加密上传

阅读更多

//--------------------这是是main方法---------

import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.FTPDataTransferException;
import it.sauronsoftware.ftp4j.FTPException;
import it.sauronsoftware.ftp4j.FTPIllegalReplyException;
import it.sauronsoftware.ftp4j.FTPListParseException;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.util.Properties;

import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.X509TrustManager;

 

public class ss {

 /**
  * @param args  

  * @throws FTPException
  * @throws FTPIllegalReplyException
  * @throws IOException
  * @throws IllegalStateException
  * @throws FTPListParseException
  */
 public static void main(String[] args) throws IllegalStateException, IOException, FTPIllegalReplyException, FTPException, FTPListParseException {
  
    X509TrustManager[] trustAll = new X509TrustManager[] { new X509TrustManager() {
     public java.security.cert.X509Certificate[] getAcceptedIssuers() {
      return null;
     }

     public void checkClientTrusted(
       java.security.cert.X509Certificate[] certs, String authType) {
     }

     public void checkServerTrusted(
       java.security.cert.X509Certificate[] certs, String authType) {
     }
    }
    };
  
  SSLContext sslContext = null;
  FTPClient client = new FTPClient();
  try {
   sslContext = SSLContext.getInstance("SSL");
   sslContext.init(null, trustAll,  new java.security.SecureRandom());
   SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
   client.setSSLSocketFactory(sslSocketFactory);
   client.setSecurity(FTPClient.SECURITY_FTPS);
  } catch (KeyManagementException e) {
   e.printStackTrace();
  } catch (NoSuchAlgorithmException e) {
   e.printStackTrace();
  }
   
  try {
   File pf = new File("ftps.properties");
         InputStream pi = new FileInputStream(pf);
   Properties p = new Properties();
         p.load(pi);
   //服务器IP地址
   String ip=p.getProperty("serverIp");
   //服务器端口
   String port=p.getProperty("serverPort");
   //服务器用户名
   String userName=p.getProperty("userName");
   //服务器密码
   String passWord=p.getProperty("passWord");
   //本地文件
   String localFile=p.getProperty("localFile");
   System.out.println("----开始连接接服务器------");
   System.out.println("IP> "+ip+" 端口> "+port+" 用户> "+userName);
   
   client.connect(ip, Integer.valueOf(port));
   client.login(userName, passWord);
   
   
   String [] str=localFile.split(",");
   System.out.println(" 总共 "+str.length+"文件要上传");
   for(int i=0;i<str.length;i++){
    
    System.out.println("  ");
    System.out.println("  第"+i+"文件");
    System.out.println("---开始上传 "+str[i]+" ---");
    client.upload(new java.io.File(str[i]));
    System.out.println("---上传结束---");
    System.out.println("  ");
   }
  } catch (FTPDataTransferException e) {
   e.printStackTrace();
  } catch (Exception e) {
   e.printStackTrace();
  }

 }
 
}
   


//-------------------------配置文件(ftps.properties)-----------------------

# ftps 上传配置文件

#服务器IP地址
serverIp=192.168.1.17
#服务器端口
serverPort=991
#服务器用户名
userName=mjg
#服务器密码
passWord=123

#本地文件 多个文件用逗号分开
localFile=D\:output.log,D\:output2.log

 

分享到:
评论
1 楼 zhongbiqing 2010-11-11  
请问下,兄台你的类(X509TrustManager)不用写代码了吗?
上面的代码,可以直接用了吗?   谢谢

我最近也在写客户端的FTPS!

相关推荐

    javaftp4j实现ftps加密上传

    java用ftp4j实现ftps加密上传 文档说的很详细,我也是找半天找弄出来的。 java用ftp4j实现ftps加密上传 文档说的很详细,我也是找半天找弄出来的。

    ftp4j 支持加密FTPS传输

    支持FTP加密上传,1.4到1.7版本的包 Security Basic FTP authentication. FTPS (FTP over implicit TLS/SSL). FTPES (FTP over explicit TLS/SSL).

    Qt实现ftps服务器

    用Qt实现ftps服务器,实现数据的加密传送,保证了数据的可靠性和安全性。

    编写FTP和FTPS客户端参考文档

    FileZilla服务器,FTP RFC959中文文档,Ftp传输协议,ftp连接指令,SSL安全协议(中文版),SSL协议的分析及实现

    FTPS JDK1.4

    支持JDK1.4版本的FTPS加密上传和下载

    通过ftps操作文件

    版本是.net3.5加密FTP文件操作,利用FTPS实现文件上传,下载,删除操作。 string ftpIP = "";//FTP ip string ftpUSER = "";//FTP 用户名 string ftpPWD = "";//FTP 密码 --下载文件方法体 FTPSClient client = new...

    C#_FTPS_demo.rar

    FTP,是明码传送的,FTPS是隐藏传送,传送过程是加密的,所以安全性提高很多,它的类库与使用有所区别于FTP.

    ftp server版本可配合fcn工具做云盘使用

     支持 FTP, FTPS(带SSL的FTP), HTTP, HTTPS, 以及 SFTP(基于SSH的FTP)。  FIPS 140-2  支持更加安全的FIPS 140-2 验证加密模块(证书编号:1051)。  基于web的管理端  何时何地管理你的FTP服务器。  ...

    强大的 FTP 服务器软件 Wing FTP Server Corporate 6.4.0.rar

    Wing FTP Server 是一款专业的跨平台 FTP 服务器端, 支持可伸缩的处理器架构并采用异步IO处理, 所以在速度和效率方面领先于其他同类产品。当然他还非常稳定可靠, 在高负载的情况下也能持续地正常运行, 非常适合企业...

    LY FTP Explorer(LYFTP) v60810

    支持FTPS(基于SSL/TLS的)加密数据传输;兼容普通密码/SKey-MD4/5/SHA1和其它任何OPT签名密码;可定义文件传输规则;可恢复,可计划的队列任务;流量控制;批处理命令;在线更新;可高强度加密的基于XML数据库的站点...

    Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例

    本文实例讲述了Python实现基于多线程、多用户的FTP服务器与客户端功能。分享给大家供大家参考,具体如下: 项目介绍: 1. 用户加密认证 2. 允许同时多用户登录 3. 每个用户有自己的家目录 ,且只能访问自己的家目录 ...

    libcurl库vs2019已编译版本,直接下载就能使用 它支持多种协议,包括HTTP、FTP、SMTP、POP3等常见协议

    - 支持FTP上传和下载。 - 支持SMTP发送邮件。 - 支持SOCKS5代理。 - 支持SSL/TLS加密传输。 - 支持多线程环境下的并发访问。 除了以上功能之外,libcurl还具有良好的可移植性和跨平台性,支持Windows、Linux、macOS...

    FileZilla_3.24.0.0_win64-setup.rar

    支持FTP, FTPS(FTP over SSL/TLS),SFTP(SSH File Transfer Protocol)等多种协议; 支持IPv6; 支持远程文件搜索 可以排队进行上传、下载; 支持文件名过滤[1] ; 支持拖放; 支持输出日志到外部文件; 多国语言...

    WindowsFilezilla ubuntu与windows文件传输工具.rar

    多协议支持: 它支持多种文件传输协议,包括 FTP、SFTP 和 FTPS。这使得用户可以通过加密传输文件来增加安全性。 文件管理功能: 用户可以执行复制、粘贴、删除、重命名等文件管理操作,还可以创建文件夹和设置权限...

    VanDyke VShell Server With Ftps x64 v3.8.6.476

    VanDyke VShell Server With Ftps,是一种替代Telnet和FTP的应用程序,为您提供强大的加密、身份验证和数据的完整性功能,使您安全地访问网络资源和数据传输。VanDyke VShell Server With Ftps,使您能够快速部署和...

    BCompare-zh-4.4.2.26348官方原版

    macOS/Linux:修复了使用空密码尝试加载已加密并以新 OpenSSH 私钥格式存储的 SSH 私钥文件时的挂起和高 CPU 使用率。 修复了解析包含外部链接的 z/OS FTP 列表。 修复了上传到 ProFTPD 主机时出现的“450 传输中止...

    数据同步软件SyncBackPro V10.2.147

    支持包括硬盘、 可移动媒体(例如 U盘)、 FTP 服务器(标准FTP、FTPS 和 SFTP)、 压缩文件(标准ZIP、 Zip64和256位AES加密算法)、 POP3/IMAP4/SMTP/Exchange邮件服务器、 网络共享位置、云备份服务(S3、Azure ...

    ServU_v11105

    SERV – U”是一个功能强大,易于使用,获奖的FTP服务器,由罗布贝格尔创建。 FTP服务器使用FTP协议,在互联网上共享文件。 “SERV – U”不仅是100%符合当前的FTP标准,也包括众多的SERV – U的独特功能使它几乎...

    BackUp Maker Professional 2021是一款出色的备份工具,旨在帮助您轻松创建重要文件和文件夹的备份副本。

    它还允许您通过FTP/FTPS上传将受保护的备份传输到web服务器。 这个出色的工具还允许您跨多个数据存储设备分割备份,并在备份之前或之后执行随机操作。 它有一个简单的安装过程和干净的用户界面,使其易于使用。 ...

Global site tag (gtag.js) - Google Analytics