Russian Qt Forum

Qt => Работа с сетью => Тема начата: Inhibitor от Август 24, 2015, 08:13



Название: {ЗАКРЫТ} Доступ к ftp серверу через авторизацию
Отправлено: Inhibitor от Август 24, 2015, 08:13
Добрый день!

Помогите разобраться, пожалуйста. Ситуация вкратце такова: пишу приложение которое через QNetworkAccessManager забирает файлы с указанного пользователем ftp сервера. Если авторизация не требуется, то все проходит на "ура". Как только для доступа к серверу требуется "логин-пароль", сразу выскакивает ошибка "access denied" (QNetworkReply::ContentAccessDenied). Логин и пароль валидны, так как через Тотал коммандер файлы с сервера забираются влёт. Код вкратце примерно таков:
 
Код:
QUrl url;
url.setScheme(QString("ftp"));
url.setUserName(QString("user"));
url.setPassword(QString("pass"));
url.setPort(21);
url.setHost(QString("192.168.***.***"));
url.setPath(QString("/path/to/file.txt"));

QNetworkRequest request(url);
QNetworkAccessManager  manager;
QNetwork *reply = manager.get(request);

Есть подозрение что для запроса требуется указать еще какие-то параметры, но перерыв документацию ничего конкретного для случая с ftp не нашел.

Спасибо!

П.С. QFtp не предлагать, так как его больше нет   :'(


Название: Re: Доступ к ftp серверу через авторизацию
Отправлено: Fat-Zer от Август 24, 2015, 17:58
с виду всё вроде хорошо... предлагаю расчехлить wireshark и посмотреть, чем действительно отличаются запросы/ответы от командера и от приложения


Название: Re: Доступ к ftp серверу через авторизацию
Отправлено: Inhibitor от Август 29, 2015, 18:18
Таки не смог реализовать задуманное через QNetworkAccessManager  :'(
Полазил по форумам иностранным, оказывается не у меня одного такая проблема возникла. Как-то вот так...

Пришлось решать проблему по старинке - переписывать всё на QTcpSocket.