`
qdpurple
  • 浏览: 276064 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ftp ssl连接使用FTPSClient类list 服务器端文件为null文件解决

 
阅读更多

关于问题我在java通过ftp(ssl) 连接ftp服务器成功,怎么list文件中已描述:

具体就是 在通过使用FTPSClient类进行ssl ftp的连接 可以连接成功,但list() ,listNames()或listFiles() 为null.

解决办法:

在ist方法之前调用了  

SocketFactory factory = SSLSocketFactory.getDefault();

sftpClient.setSocketFactory(factory);

具体为:

       sftpClient.enterLocalPassiveMode();
 /* important */
       SocketFactory factory=null;
	 factory= SSLSocketFactory.getDefault();
	sftpClient.setSocketFactory(factory);
	
	/* list所在目录的文件 返回文件名到数组中
          通过for循环进行遍历控制台打印
	*/
	String[] fileNames = sftpClient.listNames();
	for(String fileName:fileNames){
			logger.info(fileName);	
	}

 
然后listFiles(). 成功!

1.为什么调用此方法后 就可以list文件了? 

初步分析:sftpclient(FTPSClient)连接方法是调用父类(FTPClient)方法,而其本身使用的ssl加密的相关方法在父类中并没有被实现,此方法(setSocketFactory)作用是调用设置了生成此类的工厂为SSLSocketFactory,进而实现ssl的相关功能.

备注: 由于本人代码写的较乱,没有粘贴完整代码,若有需要欢迎留言所要.

 

分享到:
评论
2 楼 qdpurple 2011-08-12  
老汉学编程 写道
总的commons-net包通过SSL协议连接成功的代码贴出来看看,我被这个问题困扰了好久

你好! 这是我上份工作的代码,现在离开了,没有保留代码,望谅解!
1 楼 老汉学编程 2011-08-09  
总的commons-net包通过SSL协议连接成功的代码贴出来看看,我被这个问题困扰了好久

相关推荐

    Java实现ftp文件传输

    此外,安全性是FTP服务端设计的重要一环,应考虑使用SSL/TLS加密连接,或者采用更安全的SFTP(SSH文件传输协议)。 在提供的压缩包文件中,可能包含了示例代码,用于演示如何使用Java实现FTP客户端和服务端。通过...

    C# ftp文件信息浏览与下载

    要获取FTP服务器上的文件列表,可以设置`Method`属性为`"LIST"`,然后读取响应流来解析文件信息。这通常涉及到解析UNIX风格的目录列表输出。 ```csharp request.Method = WebRequestMethods.Ftp.ListDirectory; ...

    C# FTP操作封装类

    "C# FTP操作封装类"就是这样一个工具,它集成了常见的FTP命令,如上传、下载、列出目录、删除文件等,以便程序员能更高效地在C#项目中使用FTP服务。 FTP操作类的设计通常基于`System.Net.FtpWebRequest`和`System...

    java实现访问ftp服务器 显示所有文件列表

    Java作为多平台编程的强大语言,提供了丰富的API来实现FTP客户端的功能,包括连接FTP服务器、浏览文件列表以及进行文件上传和下载等操作。本篇将详细介绍如何使用Java通过Socket编程访问FTP服务器并显示所有文件列表...

    java实现ftp自动上传文件

    本文将详细讲解如何使用Java实现FTP自动上传整个磁盘的文件,包括目录结构,并介绍如何通过JTextArea展示Log4j日志信息以及命令行交互。 首先,我们需要一个第三方库来处理FTP通信。在Java中,Apache Commons Net库...

    Java实现FTP文件的上传和下载功能的实例代码

    对于FTP文件的上传,过程类似,但需要使用`storeFile`方法来上传文件到FTP服务器。以下是一个简单的上传文件的示例: ```java public static boolean upFile(String url, int port, String username, String ...

    FTP 客户端 c#

    FTP客户端在IT行业中是用于与FTP(文件传输协议)服务器进行交互的应用程序,它允许用户上传、下载文件或管理远程服务器上的文件系统。在C#编程语言中,我们可以使用System.Net命名空间中的FtpWebRequest和...

    linux ftps服务端和客户端

    3. **安全设置**:在使用filezilla或其他图形界面FTP客户端时,确保选择“使用FTP over TLS( Explicit TLS/SSL )”连接类型,并验证服务器的SSL证书。 通过上述步骤,你可以在Linux环境中成功配置FTPS服务端和...

    FTPtest.rar

    在本文中,我们将深入探讨如何使用C#编程语言来实现FTP(文件传输协议)功能,包括上传文件到FTP服务器、从服务器下载文件、删除服务器上的文件以及查看服务器上的文件内容。FTPtest.rar压缩包文件中可能包含了一个...

    Python Cookbook

    2.15 用类文件对象适配真实文件对象 83 2.16 遍历目录树 84 2.17 在目录树中改变文件扩展名 85 2.18 从指定的搜索路径寻找文件 86 2.19 根据指定的搜索路径和模式寻找文件 87 2.20 在Python的搜索路径中寻找...

    Python Cookbook, 2nd Edition

    Implementing the Null Object Design Pattern Recipe 6.18. Automatically Initializing Instance Variables from _ _init_ _ Arguments Recipe 6.19. Calling a Superclass _ _init_ _ Method If It Exists ...

    python3.6.5参考手册 chm

    The plistlib module: A Property-List Parser ctypes Enhancements Improved SSL Support Deprecations and Removals Build and C API Changes Port-Specific Changes: Windows Port-Specific Changes: Mac OS...

Global site tag (gtag.js) - Google Analytics