Vikings

          501 port not allow after EPSV ALL, active mode off錯誤

          用sun的ftp包連接IBM aix服務器拋如下錯誤:
          501 port not allow after EPSV ALL, active mode off

          原因:
          ftp要改為被動passtive模式.

          解決方法:
          使用第三方包edtftpj-1.5.1.jar連接服務器,在連接前設置模式為passtive

          Demo
          ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          package app4;
          /**
           * <p>Title: </p>
           *
           * <p>Description: </p>
           *
           * <p>Copyright: Copyright (c) 2006</p>
           *
           * <p>Company: </p>
           *
           * @author not attributable
           * @version 1.0
           */
          import com.enterprisedt.net.ftp.FTPClient;
          import com.enterprisedt.net.ftp.FTPMessageCollector;
          import com.enterprisedt.net.ftp.FTPTransferType;
          import com.enterprisedt.net.ftp.FTPConnectMode;
          import com.enterprisedt.util.debug.Level;
          import com.enterprisedt.util.debug.Logger;
          import java.util.Date;
          import java.io.File;
          public class Demo {
              /**
               *  Log stream
               */
              private static Logger log = Logger.getLogger(Demo.class);
              public static void main(String[] args) {
                  // we want remote host, user name and password
          //        if (args.length < 3) {
          //            usage();
          //            System.exit(1);
          //        }
                  // assign args to make it clear
                  String host = "localhost";//args[0];
                  String user = "lijun2";//args[1];
                  String password = "836301";//args[2];
                  Logger.setLevel(Level.ALL);
                  FTPClient ftp = null;
                  try {
                      // set up client
                      log.info("Connecting");
                      ftp = new FTPClient(host);
                      FTPMessageCollector listener = new FTPMessageCollector();
                      ftp.setMessageListener(listener);
                      // login
                      log.info("Logging in");
                      ftp.login(user, password);
                      // set up passive ASCII transfers
                      log.debug("Setting up passive, ASCII transfers");
                      ftp.setConnectMode(FTPConnectMode.PASV);
                      ftp.setType(FTPTransferType.BINARY);
                      // get directory and print it to console           
                      log.debug("Directory before put:");
                      String[] files = ftp.dir(".", true);
                      for (int i = 0; i < files.length; i++)
                          log.debug(files[i]);
                      // copy file to server
                      System.out.println(new Date());
                      log.info("Putting file");
                      File loadfile = new File("a.ISO");
                     
                      ftp.put("a.ISO", "a.ISO");
                     
                      System.out.println(new Date());
                      // get directory and print it to console           
                      log.debug("Directory after put");
                      files = ftp.dir(".", true);
                      for (int i = 0; i < files.length; i++)
                          log.debug(files[i]);
                      // copy file from server
                     // log.info("Getting file");
                     // ftp.get("2005.doc" + ".copy", "2005.doc");
                      // delete file from server
                      //log.info("Deleting file");
                     // ftp.delete("test.txt");
                      // get directory and print it to console           
                     // log.debug("Directory after delete");
                      files = ftp.dir("", true);
                      for (int i = 0; i < files.length; i++)
                          log.debug(files[i]);
                      // Shut down client               
                      log.info("Quitting client");
                      ftp.quit();
                      String messages = listener.getLog();
                      log.debug("Listener log:");
                      log.debug(messages);
                      log.info("Test complete");
                  } catch (Exception e) {
                      e.printStackTrace();
                  }
              }
              public static void usage() {
                  System.out.println("Usage: Demo remotehost user password");
              }
          }

          posted on 2008-07-03 00:18 Vikings 閱讀(1992) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 咸阳市| 驻马店市| 富宁县| 剑河县| 横山县| 浦江县| 浮梁县| 广昌县| 扶绥县| 张家界市| 偃师市| 通榆县| 宁陵县| 朝阳市| 台南市| 云阳县| 饶阳县| 双桥区| 垣曲县| 阳朔县| 吉林市| 象山县| 石阡县| 德化县| 梁平县| 甘德县| 壶关县| 松溪县| 淮阳县| 永川市| 北碚区| 新丰县| 金昌市| 泾阳县| 美姑县| 措勤县| 勐海县| 新丰县| 珲春市| 武川县| 南江县|