我正在尝试通过 ApacheVFS2 使用具有 FTP 连接的 StaticUserAuthenticator - 我有以下代码:
this.fsOptions = new FileSystemOptions();
StaticUserAuthenticator auth = new StaticUserAuthenticator(null, username, password);
DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(fsOptions, auth);
this.fsManager = VFS.getManager();
// ... later
FileObject file = fsManager.resolveFile("ftp://myhost:21/pathtofile.ext".toString(), fsOptions);
FileContent content = file.getContent();
这会导致引发以下异常:
org.apache.commons.vfs2.FileSystemException:无法读取文件“ftp://myhost:21/pathtofile.ext”。原因:sun.net.ftp.FtpLoginException:用户匿名:501 使用 user@site 通过代理连接
当我对此运行网络跟踪时,我看到传递给 FTP 服务器的用户 arg 是“匿名”T 10.161.37.176:57650 -> 10.152.4.138:21 [AP] 用户匿名..
知道我做错了什么吗?