我一直在尝试用.NET 2.0中的c#写一个简单的ftp客户端3天了 遗漏了什么。我创建了一个ftpWebRequest对象并设置了它的所有属性。
string uri = host + remoteFile;
System.Net.FtpWebRequest ftp = (FtpWebRequest)(FtpWebRequest.Create(uri));
ftp.Credentials = new System.Net.NetworkCredential(username, password);
ftp.KeepAlive = false;
ftp.UseBinary = true;
ftp.Method = System.Net.WebRequestMethods.Ftp.UploadFile;
但是当我去获取流时,它失败了......
System.IO.Stream strm = ftp.GetRequestStream();
以下是错误:“System.Net.WebException:远程服务器返回错误:(501)参数或参数中的语法错误。”
这个方法应该返回我需要写入的流,很多例子都是这样做的。我不确定我错过了什么。我的主机看起来像这样:“ftp://myhostname/”我已经三次检查了我的凭据。
请帮忙!
答案 0 :(得分:0)
服务器可能不支持ftp.UseBinary = true;
吗?
答案 1 :(得分:0)
您在主持人后缺少“/”:
string uri = host + "/" + remoteFile;
,远程文件字符串应如下所示:file.txt
没有任何路径。