Russian Qt Forum
Июнь 11, 2024, 17:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QNetworkManagerAccess: как залить файл на FTP?  (Прочитано 2318 раз)
Divius
Гость
« : Май 16, 2010, 18:10 »

Всем привет!

В документации к классу QFtp рекламируют новые высокоуровневые классы, как замену старым низкоуровневым, да и самому возня с QFtp надоела. Тесту ради написал следующий код (импорты и main пропущены):

Код
Python
class Test(QWidget):
 
  def __init__(self):
     QWidget.__init__(self)
     self.manager = QNetworkAccessManager();
     self.manager.finished.connect(self.finished)
     self.manager.authenticationRequired.connect(self.auth)
     self.l = QVBoxLayout()
     self.btn = QPushButton()
     self.btn.clicked.connect(self.put)
     self.l.addWidget(self.btn)
     self.setLayout(self.l)
 
  def finished(self, reply):
     print "Finished", reply.error(), reply.error() == QNetworkReply.NoError
     QApplication.quit()
 
  def auth(self, reply, auth):
     print "authenticationRequired", auth.realm()
     auth.setUser("ibdftp")
     auth.setPassword("111111")
 
  def put(self):
     print "Putting"
     self.f = QFile("/home/divius/test.tbz2")
     self.f.open(QIODevice.ReadOnly)
     self.request = QNetworkRequest(QUrl("ftp://127.0.0.1/Test/test.tbz2"))
     self.manager.put(self.request, self.f)
     print "Requested"
 

Не работает - auth вызывается 2 раза, после чего в finished() ошибка QNetworkReply.ContentAccessDenied. ЧЯДНТ?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.057 секунд. Запросов: 17.