0

我需要从 ftp 下载一个使用基本身份验证的文件。

我尝试Authenticator像这里指出的那样设置类:Authenticated HTTP proxy with Java,但我似乎无法对其进行身份验证。每次我下载文件时,它总是说用户名或密码无效。

难道我做错了什么?我如何确定验证器被调用?

这是我用来下载文件的代码:

Authenticator.setDefault(
        new Authenticator() {
            @Override
            public PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(
                      username, password.toCharArray());
             }
        }
);

PrinterJob job = PrinterJob.getPrinterJob();
for (PrintService printer : PrintServiceLookup.lookupPrintServices(null, null))
{
    if(printer.getName().equalsIgnoreCase(targetPrinters[i]))
    {
        job.setPrintService(printer);
    }
}

PDDocument doc;
URL url = new URL("ftp", "10.16.20.73", 21, file);
doc = PDDocument.load(url);
doc.silentPrint(job);
i++;
4

1 回答 1

0

对于那些可能想知道的人,我最终使用了不同的方法来访问 ftp 文件。

我将用户名和密码放在 url 字符串中,可能不是最好的方法,但它适用于我的情况。

这是我使用的 url 字符串:

ftp://user:password@somewhere.com/pub/somefile.xxx
于 2013-08-16T07:12:21.237 回答