1

まだ答えられていません。ありとあらゆる助けに感謝します!

Apache Commons-Net3.1を使用していて、FTPSを機能させようとしています。接続しようとすると、コンソールに次のエラーが表示されます。

---編集:更新されたコードとエラー---

java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:171)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:192)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:285)

私はそれを正しく設定していないと確信しています。これが私のコードです。正しい方向の任意のポイントをいただければ幸いです。(ちなみにポート990経由で接続しようとしています)。「client.connect(ftpHost);」の行のコードエラー

import org.apache.commons.net.ftp.FTPSClient;
import java.io.IOException;
import java.io.FileOutputStream;

public class MyFTP {
 public void downloadFTP(){

        FTPSClient client = new FTPSClient(false);

        FileOutputStream fos = null;
        client.setTrustManager(TrustManagerUtils.getAcceptAllTrustManager());

        try {
            client.connect(ftpHost);
            client.enterLocalPassiveMode();
            client.login(ftpUser, ftpPassword);


            String filename = "liveGUIfile.txt";
            fos = new FileOutputStream(filename);


            client.retrieveFile("/root/Desktop/" + filename, fos);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fos != null) {
                    fos.close();
                }
                client.disconnect();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
}
4

2 に答える 2

3

FTPS は明示的または暗黙的である可能性があり、明示的に使用します。

FTPSClient client = new FTPSClient(false);

ただし、明示的なものは通常、FTP のように 21 ポートを使用し、暗黙的なものは 990 ポートを使用します。したがって、21ポートに接続するか、使用してみてくださいnew FTPSClient(true)

于 2012-08-03T13:46:16.630 に答える
0
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

それはそれをすべて言います。平文接続。FTPS サーバーではなく、FTP サーバーに接続しています。エラーメッセージの中にあります。

于 2012-06-28T22:14:36.570 に答える