使用Java

时间:2018-04-03 21:51:55

标签: java ftp

这是我第一次编写标准化协议客户端,请耐心等待。

我正在尝试向ftp服务器发送USER命令,但我不断收到500 Command not understood.作为响应。

这是我的发送功能:

private static String SendToServer(PrintWriter server_output, BufferedReader server_input, String message)
{
    String server_response = null;
    try {
        server_output.println(message);
        server_response = server_input.readLine();
        if (server_response == null) {
            System.err.println("Error #2: Lost connection");
            return "";
        }
    }
    catch (IOException e)
    {
        System.err.println("Error #9999: Unexpected exception: "+ e.getMessage());
    }
    System.out.println("# " + server_response);

    return server_response.toString();
}

以下是我调用函数的方法:

SendToServer(server_out, server_in, ""); //An empty command tries to establish a connection
SendToServer(server_out, server_in, "USER anonymous"); //Tries to "log in" anonymously

这是输出:

# 220 Microsoft FTP Service
# 500 Command not understood.

问题是:为什么我会收到500 Command not understood.回复?

编辑:我正在做大学任务,因为我不想使用任何现有的ftp库

1 个答案:

答案 0 :(得分:-1)

感谢@MartinPrikryl的帮助!

创建套接字后实际收到了第一个回复220 Microsoft FTP Service

500 Command not understood.是对我发送的空字符串的回复。

编辑:500 Command not understood.是对" \ n"的响应。我发的字符串。 " \ n"是使用println调用

中的server_output.println(message);生成的