我尝试连接ESP8266中的FTP服务器.连接成功,但我无法获取服务器上的文件列表.
我的代码是:
FTPClIEnt mFtpClIEnt = new FTPClIEnt();mFtpClIEnt.setConnectTimeout(10000);mFtpClIEnt.connect(InetAddress.getByname(ip));status = mFtpClIEnt.login(username, pass);Log.e("isFTPConnected", String.valueOf(status));if (FTPReply.isPositiveCompletion(mFtpClIEnt.getReplyCode())) { mFtpClIEnt.setfileType(FTP.BINARY_file_TYPE); mFtpClIEnt.enterLocalPassiveMode(); FTPfile[] mfileArray = mFtpClIEnt.Listfiles(); Log.e("Size", String.valueOf(mfileArray.length));}
在逻辑上我得到错误:
java.io.IOException: Unable to determine system type – response: 500 UnkNow command.
我使用Apache Commons Net FTP库.那我的代码有什么问题?从fileZilla windows客户端,我可以连接.可能是ESP中的原因是SPIFF文件系统?或另一个原因?
谢谢你的回答和兴趣!
解决方法:
您的服务器不支持SYST命令,FTPClIEnt需要决定如何解析List命令的响应.
解决方案是:
>如果您的服务器支持MLSD命令,请使用mlistDir
而不是Listfiles.
>或使用System.setProperty设置FTP_SYstem_TYPE_DEFAulT或FTP_SYstem_TYPE以建议您的服务器使用的目录列表格式.
以上是内存溢出为你收集整理的使用Apache Commons Net在ESP8266上列出文件时获取“无法确定系统类型 – 响应:500 Unknow命令”全部内容,希望文章能够帮你解决使用Apache Commons Net在ESP8266上列出文件时获取“无法确定系统类型 – 响应:500 Unknow命令”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)