【发布时间】:2013-02-06 03:04:19
【问题描述】:
有一个特定的服务器 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();
不确定它到底在做什么,但无论我为用户名和密码字符串输入什么,它似乎都会给出相同的响应。
【问题讨论】:
-
我知道你提到你不想使用外部包,但这里有一个使用 Apache commons-net 库的类似问题,可能有用:stackoverflow.com/questions/13836989/…
-
这是实现 HTTP 基本身份验证的方法,但您正在尝试连接到 FTP 服务器。
标签: java network-programming authorization