【问题标题】:How to check if FTP server is alive?如何检查 FTP 服务器是否处于活动状态?
【发布时间】:2021-07-23 22:35:37
【问题描述】:

我需要检查一个 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:无法解析主机“ftp://speedtest.tele2.net/upload/”:没有与主机名关联的地址

如何做到这一点?

【问题讨论】:

  • 如果urlString 只是speedtest.tele2.net 会怎样?

标签: java android ftp ftp-client


【解决方案1】:

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

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

/upload 部分也没用;在连接之前它不能去那条路径。因此,获取 URL 是没有意义的,因此 API 设计得恰到好处。

致电.connect("speedtest.tele2.net")

【讨论】:

  • 谢谢,它似乎可以工作,但问题是有时需要很长时间才能开始上传我需要上传的文件,我不知道为什么。连接速度非常快,但是当我尝试开始上传时,需要几分钟才能开始。这个功能是检查服务器是否正常,但不能知道服务器上传是否开始。你知道更好的方法吗?
  • URL 以“/”结尾。这是正确的网址:speedtest.tele2.net/upload 您确定在连接时必须删除上传以进行测试吗?
猜你喜欢
  • 2013-02-15
  • 1970-01-01
  • 2020-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-11
  • 2019-12-10
  • 1970-01-01
相关资源
最近更新 更多