2013-04-17 3 views
0

안녕하세요, 안드로이드에서 vsftp 서버에 연결하려고합니다. 서버를 호스팅하는 회사에서 사용자 이름과 암호 및 @ip을 받았습니다.안드로이드를 사용하여 VSFTP에 연결하십시오.

나를 연결하고 파일을 다운로드하는 예를 만들었지 만 로그인에 문제가 있습니다. 연결이 설정되었지만 응답이 없으면 가상 안드로이드 장치를 사용하여 예제 예를 테스트합니다. 문제는 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; 
     } 

나는 내가 웹 페이지에서 연결을 시도, 내 코드에 을 eror이없는 확신 해요,하지만 난 못해, 난 dos 명령으로 시도했지만 아무런 반응이 없다고, 그들은 안드로이드 장치에서 연결할 수 있다고 나에게 말했다.

나는 vsftp를 찾았고 보안이 설정된 것으로 나타났습니다. 1 * 내 질문에 가상 장치에서 연결할 수 있습니까? 2 * 웹 페이지 또는 가상 장치에서 연결을 허용하지 않는 구성은 무엇입니까?

이미 FileZilla의와 시도했지만 그것은 당신이 나를 서버에 로그인하는 것을 허용하지 않는 원인이 무엇인지 말해 줄 수

3 * incorect (530) 로그인을했다. 문제는 내 프로그램이나 서버에서 발생합니다.

4 * 서버 ftp에 연결하기 위해 apache 라이브러리를 사용합니다. vsftp에 비해 너무 좋습니다.

하고 당신에게 당신이 웹/FileZilla의에서 액세스를하고 자신의 로컬 네트워크의 외부에서 액세스를 허용 할 수있는 경우

답변

0
  1. 대단히 감사합니다, 물론 그렇습니다.
  2. 외부 연결을 허용하지 않으면 알 수 없습니다. 아마 그들은 보안을 위해 그것을 할 것입니다.
  3. 서버의 설명대로.
  4. 나는 그렇다고 생각한다.

결론 : 그들은 외부 연결을 허용하지 않는 경우 여기 예를 들어 연결이 서버를 마운트 사람이며, 그가 자신의 빨간색에 대한 연결을 사용하도록 설정해야합니다 수 없습니다.

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

+0

감사합니다 tato469. 문제는 내가 연결할 수 있지만 이상한, –

+0

로깅을 못 할 수 있습니다 여기에 게시하려고 : http://serverfault.com/ 그들은 당신을 도울 수 있습니다 :)하지만 나는 서버의 구성이라고 생각합니까? 이 구성에 액세스 할 수 있습니까? –

+0

아니요 서버가 다른 회사의 호스트 인 경우 vsftpd와 comunicate 할 수있는 라이브러리를 사용해야하는지 의심 스럽습니다. vsftp가 아닌 ftp 라이브러리를 사용할 수 있습니까? –

관련 문제