1

FTP クライアントに ftp4j jar を使用しています。FTP サーバー (オープン VMS サーバー) が HTTP プロキシの背後にあるため、HTTP トンネル コネクタを使用しました。PWD 、 NOOP 、 CWD などの基本的なコマンドは正常に動作していますが、ディレクトリまたはファイルを LIST & NLIST しようとすると、しばらく何も起こらず、SocketTimeOutException が発生します。

以下は私のコードです

HTTPTunnelConnector httpTunnelConnector =  new HTTPTunnelConnector("**********", 80);
          httpTunnelConnector.setConnectionTimeout(100);

FTPCommunicationListener ftpCommunicationListener = new FTPCommunicationListener()
          {     
                 @Override
                 public void sent(String command)
                 {
                       System.out.println("SENT      :: "+command);
                 }

                 @Override
                 public void received(String response)
                 {
                       System.out.println("RECEIVED   :: "+response);
                 }
          };    


    FTPClient ftpClient = new FTPClient();
    ftpClient.addCommunicationListener(ftpCommunicationListener);
                 ftpClient.setConnector(httpTunnelConnector);

                 System.out.println("Connecting to  FTP server ... ");
                 String[] connectResponse = ftpClient.connect("*********", 21);
                 for (String string : connectResponse) {
                       System.out.println(string);
                 }

                 System.out.println("logging to FTP server ...");
                 ftpClient.login("ftpsee", "seeftp");

                 System.out.println("Authenticated by FTP server :: "+ftpClient.isAuthenticated());
                 ftpClient.setPassive(true);

                 File file = new File(argument);
                       ftpClient.upload(file);

HTTPTunnelConnectorをFTPクライアントに追加している部分をコメントアウトすると、コードは正常に機能します(ただし、内部的に推測するFTPTunnelConnectorを使用します)

以下は私のエラーメッセージです java.net.SocketTimeoutException: Read time out

4

0 に答える 0