it.sauronsoftware.ftp4j.FTPClient
FileZillaを使用して接続できるため、ユーザー名/パスワードが正しいことがわかっているので、FTPSITEプロキシを介してFTPサーバーにアクセスしてファイアウォールをバイパスしようとしています。使ってみAuthenticator
ましたが、ダメです。コード:
import java.net.Authenticator;
import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.connectors.FTPProxyConnector;
...
FTPClient client = new FTPClient();
FTPProxyConnector connector = new FTPProxyConnector(String "proxyHost", int proxyPort);
client.setConnector(connector);
Authenticator.setDefault(new Authenticator() {
@Override
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("proxyUser", "proxyPass".toCharArray());
}});
System.setProperty("ftp.proxyHost", "proxyHost");
System.setProperty("ftp.proxyPort", "proxyPort");
System.setProperty("ftp.proxyUser", "proxyUser");
System.setProperty("ftp.proxyPass", "proxyPass");
System.out.println("Proxy Accessed");
client.connect("ftpHost");
client.login("ftpUser", "ftpPass");
このエラーが発生します:java.io.IOException: Proxy authentication failed
私が試したこと:
- 代替コンストラクターの使用
(String, int, String, String)
。 - 削除
Authenticator
Authenticator
FTPProxyConnectorなしで、を使用する- コネクタを設定する前に認証する、またはその逆。
ただし、Authenticatorを使用しているだけの場合は、という別のエラーが発生しますConnection timed out
。
両方のエラーがオンラインで発生しますclient.connect("ftpHost");
どんな助けでもいただければ幸いです。
編集:プロキシがファイアウォール1チェックポイントをバイパスするために使用されていることがわかりました-これが役立つ場合。