안녕하세요, 안드로이드에서 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의에서 액세스를하고 자신의 로컬 네트워크의 외부에서 액세스를 허용 할 수있는 경우
감사합니다 tato469. 문제는 내가 연결할 수 있지만 이상한, –
로깅을 못 할 수 있습니다 여기에 게시하려고 : http://serverfault.com/ 그들은 당신을 도울 수 있습니다 :)하지만 나는 서버의 구성이라고 생각합니까? 이 구성에 액세스 할 수 있습니까? –
아니요 서버가 다른 회사의 호스트 인 경우 vsftpd와 comunicate 할 수있는 라이브러리를 사용해야하는지 의심 스럽습니다. vsftp가 아닌 ftp 라이브러리를 사용할 수 있습니까? –