crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QNetworkAccessManager :: авторизация
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
kwisp Дата 7.4.2010, 8:32
 
Цитата(grio @ 7.4.2010, 5:13) *
QFtp работает с сервером отдельными командами. Сначала авторизуется, потом заходит в директорию, а только потом запрашивает файл.
QNetworkAccessManager пытается все сделать в одном запросе. Сперва фомирует строку ftp://login:pass@server/file из составляющих QUrl, а потом делает запрос. В этом как раз и проблема.

Так с помощью QNetworkAccessManager тоже можно сначала залогиниться а потом работать.

====добавлено====
вот вроде еще так можно попробовать ftp://login:pass#ftphost.ru/ но это тоже зависит от хоста
kwisp Дата 7.4.2010, 8:01
  grio,
по-моему надо читать протокол ftp, возможно есть как в bash`e какой-нить экран для передачи @ в имени в качестве символа а не разделителя. типа обратного слэша и проч.
grio Дата 7.4.2010, 5:50
 
Цитата(Litkevich Yuriy @ 7.4.2010, 5:56) *
Цитата(grio @ 7.4.2010, 8:13) *
создать на ftp пользователя с e-mail в качестве логина
в тотале в качестве пароля предлагается электропочта, но не в качестве имени. Может всё таки не правильно использовать электропочту в имени пользователя?

Правильно или нет, но вот такой у меня хостинг провайдер...
Сейчас поставил Сербера на локальную машину - проблем с QFtp не наблюдаю.
Значит да, дело в удаленном сервере. И нашел пример фтп-клиента с авторизацией:
Исходники довольно хитрые, да и комменты на французском, что скорее мешает, чем помогает.
Но этот фтп-клиент качает с моего хостинга. Правда вместо %% загрузки показывает какую то шляпу. И после соединения, сперва возвращает пустой список файлов, а лишь по "CWD /" реальный. Но качает все же...
Возможно, надо делать паузу между командами серверу. Не пойму пока.
Litkevich Yuriy Дата 7.4.2010, 4:56
 
Цитата(grio @ 7.4.2010, 8:13) *
создать на ftp пользователя с e-mail в качестве логина
в тотале в качестве пароля предлагается электропочта, но не в качестве имени. Может всё таки не правильно использовать электропочту в имени пользователя?
grio Дата 7.4.2010, 4:13
 
Цитата(kwisp @ 6.4.2010, 22:21) *
grio,
уверен что это именно QNetworkAccessManager виноват.
может ты сам запрос неверно составляешь.
возьми снифером проверь как с этой проблемой справляется QFtp.
и отправь такой же запрос авторизации.

покажи код.


QFtp работает с сервером отдельными командами. Сначала авторизуется, потом заходит в директорию, а только потом запрашивает файл.
QNetworkAccessManager пытается все сделать в одном запросе. Сперва фомирует строку ftp://login:pass@server/file из составляющих QUrl, а потом делает запрос. В этом как раз и проблема.

Цитата
Работал с QFtp и никаких таких проблем не возникало. В семлах есть пример - скачивалка файлов, посмотри, авось поможет.
Авось этот глюк сервера?!

Возможно у сервера тоже есть какая то проблема однако, через FTP-клиент Тотал Коммандера я с ним прекрасно работаю. Если хочешь увидеть глюк QFtp, попробуй создать на ftp пользователя с e-mail в качестве логина и запросить любой существующий файл (иногда срабатывает, но чаще выдает ошибку) К сожалению, в семплах нет ни одного примера с авторизацией.
connect(ftp, SIGNAL(done(bool)), this, SLOT(done(bool)));
    ftp->connectToHost("ftp.some.ru");
    ftp->login("anonymous@some.ru");
    ftp->get("file",
             &file,
             QFtp::Binary);
DIMEDROLL Дата 6.4.2010, 22:00
 
Цитата(grio @ 6.4.2010, 18:01) *
Салют, парни!

Потелял несколько дней на QFtp и его перманентную ошибку "Downloading file failed:SIZE not allowed in ASCII mode"

Работал с QFtp и никаких таких проблем не возникало. В семлах есть пример - скачивалка файлов, посмотри, авось поможет.
Авось этот глюк сервера?!
kwisp Дата 6.4.2010, 21:21
  grio,
уверен что это именно QNetworkAccessManager виноват.
может ты сам запрос неверно составляешь.
возьми снифером проверь как с этой проблемой справляется QFtp.
и отправь такой же запрос авторизации.

покажи код.
grio Дата 6.4.2010, 18:01
  Салют, парни!

Потелял несколько дней на QFtp и его перманентную ошибку "Downloading file failed:SIZE not allowed in ASCII mode"
А сегодняшний день слил переписывая код под QNetworkAccessManager.

Проблема такая: логин содержит символ @, который трактуется, как разделитель при работе с QNetworkAccessManager.
В QFtp такой проблемы небыло, но он жестко глючит. И, как я понял, их вместе с QHttp сняли с производства. )

Пробовал заменить '@' на '%40' - результат выполнения авторизации другой, но тоже отрицательный.

Что делать, если логин не меняется?

br,
grio.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 23.10.2021, 8:34