FluentFtp не может подключиться, но может в filezilla - PullRequest
0 голосов
/ 08 апреля 2019

Я использую Fluent Ftp для отправки файла на сервер. Я подключаюсь нормально, используя быстрое подключение в filezilla, но в моем коде появляется ошибка тайм-аута.

public bool SendFileToFtp(List<FtpFiles> _files)
{
    //create an FTP client
    string ftpHost = Properties.Settings.Default.ftpHost;
    string ftpUserName = Properties.Settings.Default.ftpUser;
    string ftpPassword = Properties.Settings.Default.ftpPassword;
    FtpClient client = new FtpClient(ftpHost);               
    client.Credentials = new NetworkCredential(ftpUserName, ftpPassword);
    client.Connect();
    client.SetWorkingDirectory("/in/input");
    foreach (FtpFiles file in _files)
    {
          client.UploadFile(file.FileName, Path.GetFileName(file.FileName));
    }    
} 

Я добавил следующее на основе другого, но оно не сработало и не позволило мне подключиться к конечному пользователю ftp, но может через filezilla.

client.EncryptionMode = FtpEncryptionMode.Implicit;

client.SslProtocols = SslProtocols.Tls12;

enter image description here

Точная ошибка выше

1 Ответ

0 голосов
/ 08 апреля 2019

Привет. Все, что, по-видимому, было старым добрым пассивным режимом, должно было быть установлено на стороне клиента, поэтому настройте код в соответствии с этим комментарием по ссылке

https://github.com/robinrodricks/FluentFTP/issues/187

artiomchi прокомментировал 16 сентября 2017 г. У меня были некоторые проблемы с парой серверов, к которым я подключался ... Я считаю, что эти серверы виноваты, но для всех, я знаю, что это может быть проблема с FluentFTP.

Проблема в моем случае заключалась в том, что FluentFTP по умолчанию будет пытаться установить соединение EPSV и будет использовать обычный PASV, если сервер его не поддерживает.Рассматриваемый сервер сообщил, что поддерживает EPSV, но время подключения к нему истекло.Принудительное соединение PASV решило это для нас

client.DataConnectionType = FtpDataConnectionType.PASV;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...