使用Android连接到VSFTP

时间:2013-04-17 10:18:23

标签: android apache ftp

你好我试图从android连接到vsftp服务器 托管服务器的公司给了我用户名和密码以及@ip。

我做了一个例子来连接我并下载一个文件,但我有登录问题,连接已经完成但是在没有答案之后,我使用虚拟android设备来测试我的示例例子。问题出在mftp.login方法中,它返回false。

这是我连接到服务器的课程

private class connection extends AsyncTask{

        @Override
        protected Object doInBackground(Object... params) {
            boolean retour = ftpConnect( "x.y.z.w",  "username", "password",  21);
            return retour;
        }

        public boolean ftpConnect(String host, String username,String password, int port){
              try {

                    mFTPClient = new FTPClient();

                    try {

                         mFTPClient.connect(host, 21);

                            if (FTPReply.isPositiveCompletion(mFTPClient.getReplyCode())) {

                                /* Set File Transfer Mode
                                *
                                * To avoid corruption issue you must specified a correct
                                * transfer mode, such as ASCII_FILE_TYPE, BINARY_FILE_TYPE,
                                * EBCDIC_FILE_TYPE .etc. Here, I use BINARY_FILE_TYPE
                                * for transferring text, image, and compressed files.
                                */

                                mFTPClient.setFileType(FTP.BINARY_FILE_TYPE);
                                mFTPClient.enterLocalPassiveMode();
                                boolean status = mFTPClient.login(username, password);
                                Log.i("cause", "this is the status of loging "+status);
                                FileOutputStream desFileStream = new FileOutputStream(Environment.getExternalStorageDirectory()+"/doc.pdf");
                                mFTPClient.retrieveFile("x.y.z.w/mydirectory/doc.pdf", desFileStream);
                                return status;
                           }

                    }catch (Exception e){
                        Log.e(username,"no idea");
                    }


                  } catch(Exception e) {
                      Log.e(username,"no idea 2 ");
                     }    

             return false;
        }

我确定我的代码中没有错误, 我尝试从网页连接,但我不能,我尝试使用dos命令,但没有响应,他们告诉我,我只能从Android设备连接。

我搜索了vsftp,我发现它是安全的。  1 *我的问题是我可以从虚拟设备连接吗?  2 *他们做了哪些配置,不允许从网页或虚拟设备进行连接?

我已经尝试过使用filezilla,但它提供了530登录incorect

3 *你能告诉我什么原因导致我无法登录服务器。问题来自我的程序或服务器。

4 *我使用apache库连接到服务器ftp,这对vsftp来说太好了吗?

非常感谢你

1 个答案:

答案 0 :(得分:0)

  1. 如果您可以从web / filezilla访问并允许从本地网络访问,请确定是。
  2. 不知道,但如果他们不允许外部连接,你就不能。他们可能是出于安全考虑。
  3. 正如您解释的那样,服务器。
  4. 我认为是的。
  5. 结论:如果他们不允许外部连接你就无法连接,例如这里是一个安装这个服务器的人,他应该为自己的红色启用连接。

    http://ubuntuforums.org/showthread.php?t=2068591