Я чувствую, что мне, вероятно, не хватает чего-то очень легкого здесь, но я не понимаю, что. У меня есть функция C++ (с Qt 4.7), где мне нужно получить доступ к файлам на FTP-сервере. Чтобы сделать это, у меня есть следующие настройки:QFtp не будет работать
QString source = "ftp://username:[email protected]/directoryname/";
QFtp *ftp = new QFtp(this);
ftp->connectToHost(source);
connect(ftp, SIGNAL(listInfo(QUrlInfo)), this, SLOT(processInfoFromFile(QUrlInfo)));
connect(ftp, SIGNAL(done(bool)), this, SLOT(finishThisProcess()));
ftp->list();
Когда я печатаю источник непосредственно в браузер он приходит правильно и показывает мне все файлы в директории. У меня также есть другой экземпляр QFtp (разные имена переменных) в другом месте программы, настроенный таким же образом; это работает. Однако при этом он просто интерпретирует каталог по адресу source
как пустой и сразу же переходит на finishThisProcess
. Есть что-то, что мне не хватает? Благодаря!
EDIT: это другой экземпляр клиента FTP:
ftp2 = new QFtp(this);
QString user = "username";
QString pass = "password";
connect(ftp2, SIGNAL(listInfo(QUrlInfo)), this, SLOT(processInfoFromFile(QUrlInfo)));
connect(ftp2, SIGNAL(done(bool)), this, SLOT(finishThisProcess()));
ftp2->connectToHost("ftp.myftpserver.com");
ftp2->login(user, pass);
ftp2->list();
Это же, как и другие, кроме а) это один пытается получить доступ один уровень каталогов дальше вверх, и б) я заявил, имя пользователя и пароль отдельно, а затем войти в систему вручную. Я попробовал тот, который дал мне проблемы таким образом, но безрезультатно.