我正在尝试使用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
让我知道我错过了什么。
答案 0 :(得分:0)
端口22用于SSH / SFTP。那不是FTP。因此,您不能使用FtpWebRequest
。
.NET中没有SFTP实现。您必须使用第三方库。
另请参阅: