При попытке подключиться к FTP-серверу у меня появляется сообщение "Не удалось подключиться к хосту", что я делаю не так?
Я разрабатываю приложение для Android, которое подключается к FTP-серверу для загрузки и скачивания файлов. Для этого я использую класс FTPClient библиотеки apache commons-net, основанный на этом, и я работаю над Eclipse.
Но я получаю следующее сообщение на своем Logcat:
07-04 21:11:44.196: D/USB Virtual(14708): Error: could not connect to host ftp://xxx.xxx
Ниже приведены мои манифесты разрешений:
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
Я действительно заблудился относительно того, почему я не могу подключиться к своему FTP-серверу, в консоли не отображаются ошибки. Я что-то пропустил? Я хотел бы поблагодарить любую помощь.
Я добавляю код, который использую для подключения к своему FTP-серверу:
public boolean ftpConnect(String host, String username, String password,
int port) {
try {
mFTPClient = new FTPClient();
//host is ftp://looner-project.zxq.net
mFTPClient.connect(host);
mFTPClient.connect(InetAddress.getByName(host));
if (FTPReply.isPositiveCompletion(mFTPClient.getReplyCode())) {
boolean status = mFTPClient.login(username, password);
mFTPClient.setFileType(FTP.BINARY_FILE_TYPE);
mFTPClient.enterLocalPassiveMode();
return status;
}
} catch (Exception e) {
Log.d(TAG, "Error: could not connect to host " + host);
}
return false;
}
1 ответ
Вещи, чтобы проверить...
1. Проверьте подключение к интернету.
2. Правильно ли вы указываете URL-адрес FTP-сайта?
3. Если его пароль защищен, вы даете их правильно?
4. Используя командную строку, проверьте его. Дайте команду ниже, чтобы проверить это.
ftp www.your_ftp_site.com
После вышеупомянутой команды вам будет предложено ввести имя пользователя и пароль.
Я также прилагаю свой код, который я использовал, чтобы загрузить аудио файл на сервер, чтобы прояснить...
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import android.util.Log;
public class MyOwn {
public void goforIt(){
FTPClient con = null;
try
{
con = new FTPClient();
con.connect("www.mysamle.net"); // Its dummy Address
if (con.login("uju495", "Stevejobs!!"))
{
con.enterLocalPassiveMode(); // Very Important
con.setFileType(FTP.BINARY_FILE_TYPE); // Very Important
String data = "/sdcard/Vivekm4a.m4a";
FileInputStream in = new FileInputStream(new File(data));
boolean result = con.storeFile("/Ads/Vivekm4a.m4a", in);
in.close();
if (result) Log.v("upload result", "succeeded");
con.logout();
con.disconnect();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}