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的相关功能.

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据引用的内容,你可以在VMware虚拟机中安装Windows XP操作系统,并使用内置的IIS软件来架设FTP服务器。这种方式相对简便易行,适用于建立小型FTP服务器并不需要同时进行大流量的数据传输的情况。 要进行这个过程,你可以按照以下步骤进行操作: 1. 打开VMware软件并进入已安装了Windows XP操作系统的虚拟机。 2. 在虚拟机中打开Internet Information Services (IIS)管理器。你可以在搜索栏中搜索" IIS",然后选择打开IIS管理器。 3. 在IIS管理器中,右键点击机器名字,选择"添加FTP站点"。 4. 在弹出的对话框中,选择一个文件夹作为FTP服务器的根目录,并点击"下一步"。 5. 在下拉栏中选择一个IP地址,勾选"无SSL"选项,然后点击"下一步"。 6. 在权限设置页面,勾选所有选项,选择"所有用户",然后点击"完成"。 7. 在IIS管理器的侧边栏中,你会看到新创建的FTP服务器的名字,这表示FTP服务器架设成功。 至此,你已经在VMware虚拟机中使用Windows XP操作系统成功架设了FTP服务器。接下来,你可以使用客户端软件连接到这个FTP服务器进行文件传输。根据引用的描述,你可以在宿主机上使用FTP客户端软件来连接到这个FTP服务器。 希望这些信息对你有所帮助。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [vmware虚拟机里面在Windows XP系统下架设FTP服务器ftp常用命令](https://blog.csdn.net/haojiahuo50401/article/details/6864367)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [在 VMware 虚拟机中搭建 FTP 服务器 (详细)](https://blog.csdn.net/Modas/article/details/123401401)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值