1

Я попытался получить файл с моего ftp-сервера с помощью командного файла. Вот что происходит:

ftp> open files.000webhost.com 21
Connected to us-east-1.route-1000.000webhost.awex.io.
220 ProFTPD Server (000webhost.com) [::ffff:145.14.145.124]
500 OPTS UTF8 not understood
User (us-east-1.route-1000.000webhost.awex.io:(none)):
331 User ***** OK. Password required

230-Your bandwidth usage is restricted
230 OK. Current restricted directory is /
ftp> lcd C:\Users\micah\Desktop\MiniventureLauncher\Game
Local directory now C:\Users\micah\Desktop\MiniventureLauncher\Game.
ftp> cd public_html
250 OK. Current directory is /public_html
ftp> binary
200 TYPE is now 8-bit binary
ftp> recv miniventure.jar
200 PORT command successful
150-Connecting to port 50186
150 13336.1 kbytes to download

Тогда это просто останавливается. Вот код в моем командном файле:

@Echo Off
Set _FTPServerName=files.000webhost.com 21
Set _UserName=*****
Set _Password=*****
Set _LocalFolder=C:\Users\micah\Desktop\MiniventureLauncher\Game
Set _RemoteFolder=public_html
Set _Filename=miniventure.jar
Set _ScriptFile=transfer
:: Create script
 >"%_ScriptFile%" Echo open %_FTPServerName%
>>"%_ScriptFile%" Echo %_UserName%
>>"%_ScriptFile%" Echo %_Password%
>>"%_ScriptFile%" Echo lcd %_LocalFolder%
>>"%_ScriptFile%" Echo cd %_RemoteFolder%
>>"%_ScriptFile%" Echo binary
>>"%_ScriptFile%" Echo recv %_Filename%
>>"%_ScriptFile%" Echo quit
:: Run script
ftp -s:"%_ScriptFile%"
Del "%_ScriptFile%"

Он подключается к серверу, но не загружает файл.

1 ответ1

0

Как говорит @ martin-prikryl в комментариях, это почти наверняка проблема с брандмауэром Windows.

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

Разрешение входящих переводов

Если нет правил брандмауэра Windows для Windows ftp , при запуске его с помощью команды recv вам будет предложено автоматически добавить входящие правила в брандмауэр Windows. Поле с пометкой Private networks [...] должно быть установлено по умолчанию. Нажмите кнопку Разрешить доступ , чтобы добавить соответствующие правила в брандмауэр Windows.

ех. Разрешить загрузку через Windows ftp.exe

Добавить правило брандмауэра Windows - снимок экрана

Вам не нужно устанавливать флажок Public networks [...] если вы не собираетесь использовать Windows ftp вдали от дома. Вы должны быть администратором, чтобы настроить правила брандмауэра.

Обратите внимание, что, к сожалению, это не позволит продолжить текущую загрузку. Вам нужно будет прервать текущую операцию (обычно с помощью Ctrl + C) и повторить попытку.

Не отображается всплывающее окно брандмауэра

Если передача зависает и не отображается всплывающее окно с правилами брандмауэра, это, скорее всего, означает, что в брандмауэре Windows уже есть уже существующие правила для ftp Windows (они добавляются даже в том случае, если вы изначально нажали « Отмена» в диалоговом окне выше). Кроме того, вполне вероятно, что эти правила настроены на блокировку любых входящих соединений (обозначены значками в виде кружков с косой чертой через них).

ех. Windows ftp.exe заблокирован брандмауэром Windows

ftp.exe заблокирован брандмауэром Windows - скриншот

Чтобы изменить это:

  1. Откройте Панель управления \ Система и безопасность \ Брандмауэр Windows и щелкните ссылку с пометкой Расширенные настройки с левой стороны.

  2. В диалоговом окне « Брандмауэр Windows в режиме повышенной безопасности » (показан выше) щелкните ссылку « Входящие правила» слева и дождитесь заполнения основной панели. Ищите два правила, помеченные как File Transfer Program. Вы можете нажать на заголовок категории « Имя », чтобы сортировать элементы в алфавитном порядке по мере необходимости.

  3. Для каждого правила щелкните его правой кнопкой мыши и выберите « Свойства». На вкладке « Общие » измените действие « Block the connection на « Allow the connection . Нажмите OK в нижней части диалогового окна, когда закончите.

    ех. Обновление правил брандмауэра Windows для Windows ftp.exe

    Разблокировать Windows ftp.exe Правило брандмауэра - Скриншот

  4. Если все сделано правильно, значки с кружочками и косыми чертами должны быть заменены зелеными флажками.

    ех. Правила брандмауэра Windows для Windows ftp.exe - зеленые галочки

    Windows ftp.exe Правила брандмауэра Зеленые флажки - скриншот


Создание ваших собственных правил

Если вы хотите вручную добавить (создать) эти правила самостоятельно, выполните шаги 1 и 2, за исключением нажатия « Создать правило ...» справа после выбора « Входящие правила».

Создайте одно правило для соединений TCP и одно правило для соединений UDP (параметры протокола перечислены на вкладке « Протоколы и порты »).Убедитесь, что все порты разрешены.При необходимости измените свойства вкладки « Область » (как правило, « Любой IP-адрес» ) и « Профили» вкладки « Дополнительно » (обычно просто « Private).

Наконец, на вкладке « Программы и службы » укажите , например, « C:\windows\system32\ftp.exe в качестве пути к программе (если вы сомневаетесь, вы можете использовать where ftp из командной строки для отображения правильного пути).


Всё ещё ищете ответ? Посмотрите другие вопросы с метками .