Выберите метод входа через FTP-прокси, которого ждёт ваш шлюз
Сопоставьте разговор USER, SITE или OPEN собственного FTP-шлюза с клиентом, который его поддерживает, держа учётную запись шлюза отдельно от целевой.
«FTP-прокси» может означать шлюз, который сам говорит по FTP. Подключение к нему отличается от запроса CONNECT к HTTP-прокси или просьбы к серверу SOCKS открыть TCP-назначение.
Шлюзу нужны целевой хост и учётная запись, и, возможно, сначала собственный вход. Продукты выражают этот разговор по-разному:
| Схема | Типичная форма команды |
|---|---|
| Цель закодирована в имени пользователя | USER target-user@target-host |
| Отдельный вход в шлюз | USER/PASS шлюза, затем вход в цель |
| Явная команда назначения | SITE target-host или OPEN target-host, затем требуемый вход |
Это семейства соглашений, а не единственная стандартная последовательность для каждого шлюза. Выбирайте метод, задокументированный администратором и поддерживаемый клиентом.
Держите обе учётные записи видимыми в настройке
Пароль целевого FTP и пароль шлюза могут различаться. Некоторые шлюзы объединяют их в одно представление USER/PASS; другие требуют отдельных обменов. Помещение всех значений в одну строку не может воспроизвести клиент, которому нужно отправлять дополнительные команды.
Это объясняет полезную границу в старом коде FtpWebRequest. Обычное FTP-подключение к шлюзу с именем пользователя, специфичным для шлюза, может подойти для некоторых схем USER/PASS. Шлюз, требующий отдельного разговора SITE или OPEN, нуждается в клиенте, который действительно поддерживает этот поток. Свойство Proxy в WebRequest — снова другой интерфейс.
Например, WinSCP предоставляет отдельные методы входа через FTP-прокси, а не рассматривает все шлюзы как одно поле хоста. Его числовые значения «сырых» настроек относятся к его документированному API; при проверке конфигурации используйте имя метода и предполагаемый разговор.
После входа передача файлов по-прежнему требует соединения данных FTP и выбранного режима TLS. Успешный вход по каналу управления — начало этого пути, а не доказательство того, что любая передача данных уже разрешена.