【问题标题】:FtpWebRequest - Setting Port 22 in the URIFtpWebRequest - 在 URI 中设置端口 22
【发布时间】:2018-06-26 09:23:03
【问题描述】:

我正在尝试在我一直使用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

让我知道我错过了什么。

【问题讨论】:

    标签: .net vb.net ftp sftp ftpwebrequest


    【解决方案1】:

    端口 22 用于 SSH/SFTP。那不是FTP。所以你不能使用FtpWebRequest

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

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多