0

您好,我正在尝试从 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 登录错误

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

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

非常感谢你

4

1 回答 1

0
  1. 如果您可以从 web/filezilla 访问,并且他们允许从本地网络访问,那么肯定是的。
  2. 不知道,但如果他们不允许外部连接,你就不能。他们可能这样做是为了安全。
  3. 正如你所解释的,服务器。
  4. 我想是的。

结论:如果他们不允许外部连接,您将无法连接,例如这里有一个安装此服务器的人,他应该为自己的红色启用连接。

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

于 2013-04-17T10:27:40.217 回答