Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用apache client for Java从heroku连接到FTP服务器。503错误登录不正确_Java_Apache_Heroku_Ftp_Jetty - Fatal编程技术网

无法使用apache client for Java从heroku连接到FTP服务器。503错误登录不正确

无法使用apache client for Java从heroku连接到FTP服务器。503错误登录不正确,java,apache,heroku,ftp,jetty,Java,Apache,Heroku,Ftp,Jetty,我正在编写一个将文件上传到FTP服务器的应用程序。为了连接FTP服务器,我使用了org.apache.commons.net.FTP中的FTPClient。当我在本地运行代码时,一切正常,但当尝试从Heroku dyno登录到ftp时出现问题。服务器日志中没有任何错误,仅获取和发布信息。FTPClient将显示以下日志: 应用程序[web.1]:220 FTP服务器就绪 应用程序[web.1]:通过XXX 应用程序[web.1]:用户XXX app[web.1]:XXX需要331密码 应用程序[

我正在编写一个将文件上传到FTP服务器的应用程序。为了连接FTP服务器,我使用了org.apache.commons.net.FTP中的FTPClient。当我在本地运行代码时,一切正常,但当尝试从Heroku dyno登录到ftp时出现问题。服务器日志中没有任何错误,仅获取和发布信息。FTPClient将显示以下日志:

应用程序[web.1]:220 FTP服务器就绪
应用程序[web.1]:通过XXX
应用程序[web.1]:用户XXX
app[web.1]:XXX需要331密码
应用程序[web.1]:530登录不正确。
应用程序[web.1]:类型I
应用程序[web.1]:221再见。
应用程序[web.1]:退出
app[web.1]:530请使用用户登录并通过
应用程序[web.1]:200类型设置为I
应用程序[web.1]:端口172,17221246145,63

密码和登录都可以,因为它在本地工作。我以为它可能是在heroku上编码的,但我把它改成了utf-8,但错误仍然是一样的。我正在使用以下代码连接FTP

private FTPClient ftp;

public void connect(String host, String username, String password) throws IOException {
    ftp = new FTPClient();
    ftp.enterLocalPassiveMode();
    ftp.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
    ftp.connect(host);
    ftp.login(username,password);
    ftp.setFileType(FTP.BINARY_FILE_TYPE);
}
应用程序部署在jetty服务器上

编辑

我以前没有提到过,在这两种情况下(本地和heroku上),我都登录到同一个FTP服务器。
密码和登录名按正确顺序发送。我还尝试手动执行此操作,这意味着我调用了方法用户名和密码,而不是登录,因此我确信orded是正确的

似乎您在发送
用户
之前发送了
通过
,而不是像我预期的那样。这可能适用于您的本地FTP服务器,但不适用于dyno尝试连接的任何FTP服务器。

在这两种情况下(本地和heroku上),我都登录到同一个FTP服务器。密码和登录名按正确顺序发送。我还尝试手动操作,这意味着我调用了方法username和password,而不是login,所以我确信orded是正确的