Получение ошибки 530 Не выполнен вход при подключении с помощью FtpWebRequest

Я перепробовал все, что только мог придумать. Я пытаюсь получить список каталогов с FTP-сервера. Я могу войти в систему и просмотреть/загрузить из FileZilla.

Мой пароль выглядит так (буквы изменены):

c0dlWTRBOZc=

Я пробовал использовать Normalize() и не использовать его.

Ошибка в строке GetResponse().

Вот код:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(thisConnection.remoteFTP_URI);
request.KeepAlive = true;
request.UsePassive = true;
request.UseBinary = true;
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential(thisConnection.userName.Normalize(),thisConnection.passWord.Normalize());
FtpWebResponse response = (FtpWebResponse)request.GetResponse();

Я использую тот же самый код для других FTP-серверов без проблем. У меня нет прямого контроля над сервером, поэтому изменить пароль или другие настройки сервера будет проблематично.

Спасибо за любую помощь!


person Joe Ruder    schedule 30.08.2015    source источник
comment
Включите FtpWebRequest ведение журнала и включите журнал в свой вопрос. Включите также журнал FileZilla для сравнения (на самом деле файл журнала, а не журнал сообщений из графического интерфейса).   -  person Martin Prikryl    schedule 31.08.2015


Ответы (1)


Ваша строка пароля выглядит как кодировка base64.

Какую форму на самом деле использует FileZilla в своем файле конфигурации (sitemanager.xml).

Итак, я предполагаю, что вы скопировали закодированный пароль из sitemanager.xml и пытаетесь использовать его как буквальный пароль в FtpWebRequest.

Убедитесь, что вы используете фактический буквальный пароль. Если вы его не помните, используйте декодер base64.
Вы найдёте множество их онлайн.

person Martin Prikryl    schedule 31.08.2015
comment
Святая корова... ты совершенно прав. Я копирую и вставляю непосредственно из экспорта xml из filezilla. Я понятия не имел, как это работает. Я действительно должен был уловить это, большое спасибо за острый глаз! В мою защиту (то немногое, что здесь есть) скажу, что filezilla раньше не хранила их таким образом, или, по крайней мере, у меня есть более старые копии xml с паролями в виде простого текста, включая этот. - person Joe Ruder; 31.08.2015
comment
Пожалуйста. Да, FileZilla перешла на кодировку пароля base-64 только недавно в 3.10.2-rc2 (25 февраля 2015 г.). - person Martin Prikryl; 31.08.2015