QNetworkAccessManager :: авторизация, символ @ в имени пользователя |
Здравствуйте, гость ( Вход | Регистрация )
QNetworkAccessManager :: авторизация, символ @ в имени пользователя |
grio |
6.4.2010, 18:01
Сообщение
#1
|
Студент Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: 0 |
Салют, парни!
Потелял несколько дней на QFtp и его перманентную ошибку "Downloading file failed:SIZE not allowed in ASCII mode" А сегодняшний день слил переписывая код под QNetworkAccessManager. Проблема такая: логин содержит символ @, который трактуется, как разделитель при работе с QNetworkAccessManager. В QFtp такой проблемы небыло, но он жестко глючит. И, как я понял, их вместе с QHttp сняли с производства. ) Пробовал заменить '@' на '%40' - результат выполнения авторизации другой, но тоже отрицательный. Что делать, если логин не меняется? br, grio. |
|
|
kwisp |
6.4.2010, 21:21
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
grio,
уверен что это именно QNetworkAccessManager виноват. может ты сам запрос неверно составляешь. возьми снифером проверь как с этой проблемой справляется QFtp. и отправь такой же запрос авторизации. покажи код. |
|
|
DIMEDROLL |
6.4.2010, 22:00
Сообщение
#3
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
Салют, парни! Потелял несколько дней на QFtp и его перманентную ошибку "Downloading file failed:SIZE not allowed in ASCII mode" Работал с QFtp и никаких таких проблем не возникало. В семлах есть пример - скачивалка файлов, посмотри, авось поможет. Авось этот глюк сервера?! |
|
|
grio |
7.4.2010, 4:13
Сообщение
#4
|
Студент Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: 0 |
grio, уверен что это именно QNetworkAccessManager виноват. может ты сам запрос неверно составляешь. возьми снифером проверь как с этой проблемой справляется QFtp. и отправь такой же запрос авторизации. покажи код. QFtp работает с сервером отдельными командами. Сначала авторизуется, потом заходит в директорию, а только потом запрашивает файл. QNetworkAccessManager пытается все сделать в одном запросе. Сперва фомирует строку ftp://login:pass@server/file из составляющих QUrl, а потом делает запрос. В этом как раз и проблема. Цитата Работал с QFtp и никаких таких проблем не возникало. В семлах есть пример - скачивалка файлов, посмотри, авось поможет. Авось этот глюк сервера?! Возможно у сервера тоже есть какая то проблема однако, через FTP-клиент Тотал Коммандера я с ним прекрасно работаю. Если хочешь увидеть глюк QFtp, попробуй создать на ftp пользователя с e-mail в качестве логина и запросить любой существующий файл (иногда срабатывает, но чаще выдает ошибку) К сожалению, в семплах нет ни одного примера с авторизацией.
Сообщение отредактировал grio - 7.4.2010, 4:21 |
|
|
Litkevich Yuriy |
7.4.2010, 4:56
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
grio |
7.4.2010, 5:50
Сообщение
#6
|
Студент Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: 0 |
создать на ftp пользователя с e-mail в качестве логина в тотале в качестве пароля предлагается электропочта, но не в качестве имени. Может всё таки не правильно использовать электропочту в имени пользователя?Правильно или нет, но вот такой у меня хостинг провайдер... Сейчас поставил Сербера на локальную машину - проблем с QFtp не наблюдаю. Значит да, дело в удаленном сервере. И нашел пример фтп-клиента с авторизацией: Исходники довольно хитрые, да и комменты на французском, что скорее мешает, чем помогает. Но этот фтп-клиент качает с моего хостинга. Правда вместо %% загрузки показывает какую то шляпу. И после соединения, сперва возвращает пустой список файлов, а лишь по "CWD /" реальный. Но качает все же... Возможно, надо делать паузу между командами серверу. Не пойму пока. |
|
|
kwisp |
7.4.2010, 8:01
Сообщение
#7
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
grio,
по-моему надо читать протокол ftp, возможно есть как в bash`e какой-нить экран для передачи @ в имени в качестве символа а не разделителя. типа обратного слэша и проч. |
|
|
kwisp |
7.4.2010, 8:32
Сообщение
#8
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
QFtp работает с сервером отдельными командами. Сначала авторизуется, потом заходит в директорию, а только потом запрашивает файл. QNetworkAccessManager пытается все сделать в одном запросе. Сперва фомирует строку ftp://login:pass@server/file из составляющих QUrl, а потом делает запрос. В этом как раз и проблема. Так с помощью QNetworkAccessManager тоже можно сначала залогиниться а потом работать. ====добавлено==== вот вроде еще так можно попробовать ftp://login:pass#ftphost.ru/ но это тоже зависит от хоста |
|
|
Текстовая версия | Сейчас: 22.12.2024, 18:04 |