使用 Apache Commons Net 检测 FTP 服务器文件名编码
Posted
技术标签:
【中文标题】使用 Apache Commons Net 检测 FTP 服务器文件名编码【英文标题】:Detecting FTP server file name encoding using Apache Commons Net 【发布时间】:2021-10-13 06:01:09 【问题描述】:有没有一种使用 Apache Commons Net 获取或检测 FTP 服务器文件名编码的简单方法? 为什么 FileZilla 客户端总能获得正确的编码并显示正确的文件名?它是怎么做到的?
【问题讨论】:
【参考方案1】:无从得知,服务器使用什么编码。
我什至不认为 FileZilla 可以总是显示正确的文件名。 见https://wiki.filezilla-project.org/Character_Encoding
话虽如此,您可以考虑以下几点:
一些FTP客户端(包括FileZilla)在会话开始时向FTP服务器发送OPTS UTF8 ON
命令,试图强制服务器使用UTF-8编码。 IIS 或 ProFTPD 服务器对此作出响应。
在检测编码时做一些启发式方法。
【讨论】:
以上是关于使用 Apache Commons Net 检测 FTP 服务器文件名编码的主要内容,如果未能解决你的问题,请参考以下文章
[Java] 使用 Apache的 Commons-net库 实现FTP操作
如何导入 org.apache.commons.net.ftp.FTPClient
org.apache.commons.net.MalformedServerReplyException: Could not parse response code. Server Reply: S
org.apache.commons.net.MalformedServerReplyException: Could not parse response code. Server Reply: S
org.apache.commons.net.MalformedServerReplyException: Could not parse response code. Server Reply: S