我尝试使用 FtpWebRequest 列出文件详细信息,但经常失败并出现 WebException 并显示错误 530 用户未登录。
有时使用相同的凭据可以正常工作,这怎么可能?
代码摘录:
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpuri));
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(userName, password);
string[] downloadFiles = new string[0];
reqFTP.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
WebResponse response = reqFTP.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
downloadFiles = reader.ReadToEnd().Replace("\r\n", "¤").Split('¤');
reader.Close();
response.Close();
尝试设置
reqFTP.KeepAlive = false;
如果上述方法不起作用
reqFTP.UsePassive = false;
我发现将这些设置为 false 可以大大减少此错误(由 FTP 服务器生成)的发生率。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)