Вы используете активный режим FTP.
В активном режиме клиент (в данном случае FtpWebRequest
) открывает порт прослушивания для каждой передачи, к которой должен подключиться сервер. Этот номер порта является случайным, он не может быть 21. Это правильное поведение. Причина, по которой это не работает, не в том, что случайный порт не поддерживается GoDaddy. Причина в том, что ваш брандмауэр Windows не позволяет GoDaddy подключиться к этому порту.
Если вы не хотите, чтобы клиент открывал случайные порты, используйте пассивный режим. В пассивном режиме порт открывает сервер, а не клиент. В общем, вы всегда должны использовать пассивный режим, так как вы хотите иметь проблемы с брандмауэром. Пассивный режим на самом деле является режимом по умолчанию для FtpWebRequest
. Вы явно переключились в активный режим с помощью этого оператора:
reqFTP.UsePassive = false;
Просто удалите вышеприведенную строку, и все будет хорошо.
Подробнее см. В моей статье Режимы FTP-соединения .