FtpWebRequest - настройка порта 22 в URI - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь загрузить файлы на FTP-сервер, которым я пользуюсь FtpWebrequest.По умолчанию порт равен 21. Мне нужно загрузить с использованием порта 22. Я попытался добавить порт 22 в самом URI.Но я получаю ошибку при достижении GetRequestStream() метода.Сообщение об ошибке:

Основное соединение закрыто.Сервер совершил нарушение протокола

Мой код выглядит следующим образом

Dim request = DirectCast(FtpWebRequest.Create("ftp://absd.com:22/inbox/xxx.dat"), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.UploadFile
request.Credentials = New NetworkCredential(userID,pwd)
request.UseBinary = True
request.UsePassive = True
Dim bytes() As Byte = File.ReadAllBytes(sourceFilePath)
request.ContentLength = bytes.Length
Using uploadstream As Stream = request.GetRequestStream()
    uploadstream.Write(bytes, 0, bytes.Length)
    uploadstream.Close()
End Using

Дайте мне знать, что я пропустил.

1 Ответ

0 голосов
/ 26 июня 2018

Порт 22 для SSH / SFTP. Это не FTP. Таким образом, вы не можете использовать FtpWebRequest.

В .NET нет реализации SFTP. Вы должны использовать стороннюю библиотеку.

Смотри также:

...