FtpWebRequest-在URI中设置端口22

时间:2018-06-26 09:23:03

标签: .net vb.net ftp sftp ftpwebrequest

我正在尝试使用FtpWebrequest在FTP服务器上上传文件。默认情况下,端口为21。我需要使用端口22进行上传。我尝试在URI本身中添加端口22。但是到达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 :(得分:0)

端口22用于SSH / SFTP。那不是FTP。因此,您不能使用FtpWebRequest

.NET中没有SFTP实现。您必须使用第三方库。

另请参阅: