3

有一个需要身份验证的特定服务器 IP 地址我通常通过 cmd 行“ftp xyz0”访问输入我的 u/n,输入我的 p/w,然后我就进入了。我想让我的程序询问用户凭据,检查是否他们可以登录到此服务器/IP 地址,如果可以,则简单地返回 true,否则返回 false。我不拥有这台服务器,也不是很了解它,我只需要知道我的应用程序的最终用户是否可以访问它。我不想使用任何外部包,如果可能的话,只使用标准 java 库中可用的包。对此的任何帮助表示赞赏。

我最近的尝试:

 URL url = new URL("ftp://1.0.0.0/");
 URLConnection uc = url.openConnection();
 String userpass = username + ":" + password;
 String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());
 uc.setRequestProperty ("Authorization", basicAuth);
 InputStream in = uc.getInputStream();

不确定它到底在做什么,但无论我为用户名和密码字符串输入什么,它似乎都会给出相同的响应。

4

1 回答 1

1

要通过尝试连接到 FTP 服务器来检查登录,您将需要使用套接字并对 FTP 协议和身份验证进行大量解析。所以我建议使用Commons Net,它也可以让你通过 HTTP/NNTP/etc 处理其他身份验证内容。

于 2013-02-20T22:46:14.630 回答