Создайте NSURLRequest и затем используйте NSURLConnection для отсылки его к серверу.
К сожалению, SFTP изначально не поддерживается WinInet или другими стандартными библиотеками Windows.
Мне повезло с / n Software IP * Works SSH для .NET в общении с большим количеством серверов SFTP.
Я использую edtFTPnet / PRO
http: //www.enterprisedt.com/products/edtftpnetpro/overview.html
отлично работает
http://sourceforge.net/projects/sharpssh/ может быть вашим лучшим вариантом. В итоге я написал сценарии для WinSCP, что было проще ...
EDIT для ясности, я бы порекомендовал что-то вроде https://github.com/sshnet/SSH.NET теперь, поскольку SharpSSH - мертвый проект
.NET Framwork поддерживает FTP через FtpWebRequest, начиная с версии 2.0. Пока нет поддержки SFTP.
Если вам нужны и FTP, и SFTP, попробуйте сторонний компонент. Существует реализация SFTP с открытым исходным кодом от Тамира Гала, которая часто рекомендуется. Или вы можете попробовать один из коммерческих компонентов SFTP, например, наш Rebex SFTP .
Следующий код взят из учебной страницы Rebex SFTP :
// create client, connect and log in
Sftp client = new Sftp();
client.Connect(hostname);
client.Login(username, password);
// upload the content of 'c:\data' directory and all subdirectories
// to the '/wwwroot' directory at the server
client.PutFiles(@"c:\data\*", "/wwwroot", SftpBatchTransferOptions.Recursive);
client.Disconnect();
Если вы не уверены, понадобится ли вам FTPS или SFTP, вы можете проверить Пакет передачи файлов Rebex , который включает обе. FTP API почти идентичен SFTP.