Ajay_4532 Ответов: 2

Удаленный сервер вернул ошибку: (530) не вошел в систему.


List<string> Files = new List<string>();

            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(host + "/" + remoteFile));
            request.Method = WebRequestMethods.Ftp.ListDirectory;

            request.Credentials = new NetworkCredential("Adminstrator", "password@123"); 

            request.UseBinary = false;
            request.UsePassive = true;

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();

            Stream responseStream = response.GetResponseStream(); //ERROR IS HERE
            StreamReader reader = new StreamReader(localFile);
            string CurrentLine = reader.ReadLine();
            while (!string.IsNullOrEmpty(CurrentLine))
            {
                Files.Add(CurrentLine);
                CurrentLine = reader.ReadLine();
            }
            reader.Close();
            response.Close();


Что я уже пробовал:

//использование (системы.Нет.Веб-клиент клиент = новый система.Нет.Вебклиент())
//{
// клиент.Учетные данные = new System.Net.NetworkCredential("Adminstrator", "password@123");
// клиент.UploadFile(host + "/" + new FileInfo(remoteFile).Имя, "STOR", localFile);
//}.


Удаленный сервер вернул ошибку: (530) не вошел в систему.

Jochen Arndt

Возможно, вы передали неверные учетные данные.
Может быть, имя пользователя должно быть "Administrator" вместо "Adminstrator"?

Вы также можете проверить состояние FtpWebResponse после вызова GetResponse().

Thomas Nielsen - getCore

Ошибка не обязательно там, где вы пишете //ошибка здесь,
просто он на самом деле не отправляет запрос, пока вы не позвоните туда, поэтому все, что вы знаете, это то, что он находится между созданием экземпляра запроса и вызовом GetResponse()

2 Ответов

Рейтинг:
0

Thomas Nielsen - getCore

Взгляните на этот простой класс FTP C#, он, по-видимому, делает то, что вы хотите, и, вероятно, будет более эффективным для копирования для вас.

Простой класс FTP C# [^]


Рейтинг:
0

Jitendra_4u

В моем случае я сначала перепроверил сервер и учетные данные с помощью утилиты Filezilla и проверил путь к каталогу, в который я должен загрузить файлы. независимо от того, какой доступ пользователь получает после входа в filezilla, мы просто должны использовать его как.. ( /dir/dir1/dir2 ) после IP следует косая черта.

экс:

ftp://111.111.11.11/(путь к каталогу выглядит как в filezilla)
ftp://111.11.11.111/dir1/dir2/dir3

кроме того, я обновил

request.EnableSsl = false;


и это работает на меня.