如何检查 FTP 服务器是否存活?

How to check if FTP server is alive?

我需要检查 FTP 服务器是否存在,这个服务器是:

ftp://speedtest.tele2.net/upload/

我试过这个代码:

            FTPClient ftp = new FTPClient();
            try {
                ftp.setConnectTimeout(5000);
                ftp.setDefaultTimeout(5000);
                ftp.setDataTimeout(5000);
                ftp.connect(urlString);
                return true;
            } catch (IOException e) {
                e.printStackTrace();
                return false;
            } finally {
                ftp.disconnect();
            }

问题是正在返回此异常:

java.net.UnknownHostException: Unable to resolve host "ftp://speedtest.tele2.net/upload/": No address associated with hostname

如何实现?

connect 方法采用主机名,而不是 URL。

ftp://部分没用;这是一个 FTP 客户端,它不能做任何其他事情。

/upload部分也没用;在连接之前它不能去那条路。因此,取 URL 是没有意义的,所以 API 是正确设计的。

呼叫.connect("speedtest.tele2.net").