Ошибка на удаленном сервере: 227 Вход в пассивный режим (ххх, ххх, ххх, хх)

Я попытался загрузить файл.bak с FTP и сохранить его в локальном каталоге на моем компьютере.

Это мой код:

 Try
        My.Computer.Network.DownloadFile("ftp://nameOfServer/file.bak", "C:\Users\Admin\Documents\BackUp\file.bak", "user", "password")

    Catch ex As Exception
        MessageBox.Show(ex.Message, "Error")
    End Try

Когда я выполняю код, я получаю эту ошибку:

Error on the remote server: 227 Entering Passive Mode(xxx,xx,xxx,xxx,xxx,xx)

Я знаю, что мне нужно перевести его в активный режим, но я не могу найти способ правильно работать с моим кодом. Как я могу решить это? Спасибо

1 ответ

Вы должны убедиться, что вы загружаете файлы правильно, следуя этой старой редакции.

После некоторого возни, чтобы воссоздать проблему, проблема была решена с помощью следующего кода

Dim username As String = "username"
Dim password As String = "password"
Dim address As String = "address"
Dim file As String = "file"
Dim outputFile As String = "outputFile"
My.Computer.Network.DownloadFile("ftp://" + username + ":" + password + "@" + address + "/" + file, outputFile)

Или следующее было более лаконично в состоянии решить проблему

My.Computer.Network.DownloadFile("ftp://username:password@address/file", "outputLocation")

Но другая возможная причина ваших проблем могла быть просто вызвана отсутствием выходного каталога или, что более вероятно, защищено от записи (политиками безопасности или настройками папок).

Наконец, если у вас есть правильный код и структура файлов, я бы посоветовал обратиться к провайдеру FTP и убедиться, что сервер FTP настроен и оптимизирован для вашего использования. Если вы не можете обратиться за помощью к своему провайдеру ftp, но у вас есть доступ к настройкам ftp, я бы рекомендовал полностью отключить пассивный режим для вашего сервера ftp на свой страх и риск.

Другие вопросы по тегам