Как загрузить файл на сервер SFTP в C# / .NET? [закрыто]



эта возможность поставляется с .Net? если нет, то какая лучшая бесплатная библиотека? Мне нужно что-то, что будет бросать исключение, когда есть проблема, и позволяет мне контролировать ее ход.

922   6  

6 ответов:

Edit: этот ответ уже давно и больше не действителен. См. комментарий

вы можете посмотреть a SharpSSH. Он поддерживает SFTP из коробки, и это открытый источник.

может быть, вы можете сценарий / контроль winscp?

обновление: winscp теперь имеет библиотека .NET доступно как пакет nuget который поддерживает SFTP, SCP и FTPS

следующий код показывает, как загрузить файл на сервер SFTP с помощью нашего Rebex по SFTP компонент.

// create client, connect and log in 
Sftp client = new Sftp();
client.Connect(hostname);
client.Login(username, password);

// upload the 'test.zip' file to the current directory at the server 
client.PutFile(@"c:\data\test.zip", "test.zip");

client.Disconnect();

вы можете записать полный журнал связи в файл, используя свойство LogWriter следующим образом. Примеры вывода (из FTP-компонента, но выход SFTP аналогичен) можно найти здесь.

client.LogWriter = new Rebex.FileLogWriter(
   @"c:\temp\log.txt", Rebex.LogLevel.Debug); 

или перехватить сообщение, используя события следующим образом:

Sftp client = new Sftp();
client.CommandSent += new SftpCommandSentEventHandler(client_CommandSent);
client.ResponseRead += new SftpResponseReadEventHandler(client_ResponseRead);
client.Connect("sftp.example.org");

//... 
private void client_CommandSent(object sender, SftpCommandSentEventArgs e)
{
    Console.WriteLine("Command: {0}", e.Command);
}

private void client_ResponseRead(object sender, SftpResponseReadEventArgs e)
{
    Console.WriteLine("Response: {0}", e.Response);
}

подробнее:учебник или скачать пробная версия и проверка образцы.

нет никакого решения для этого в рамках .net framework.

http://www.eldos.com/sbb/sftpcompare.php очерчивает список несвободных опций.

ваш Лучшие бесплатные ставки, чтобы продлить SSH, используя Гранадос. http://www.routrek.co.jp/en/product/varaterm/granados.html

к сожалению, это не в самой платформе .NET Framework. Я хочу, чтобы вы могли интегрироваться с FileZilla, но я не думаю, что он предоставляет интерфейс. У них есть сценарии, я думаю, но это будет не так чисто, очевидно.

Я использовал CuteFTP в проекте, который делает SFTP. Он предоставляет com-компонент, вокруг которого я создал оболочку .NET. Загвоздка, вы найдете, это разрешения. Он прекрасно работает под учетными данными Windows, которые установили CuteFTP, но работает под для других учетных данных необходимо установить разрешения в DCOM.

для другого варианта un-free попробуйте edtFTPnet / PRO. Он имеет всестороннюю поддержку SFTP, а также поддерживает FTPS (и, конечно, FTP) при необходимости.

Comments

    Ничего не найдено.