Hen*_*rik 7 .net c# ftp ftpwebrequest
我尝试使用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();
Run Code Online (Sandbox Code Playgroud)
尝试设置
reqFTP.KeepAlive = false;
Run Code Online (Sandbox Code Playgroud)
如果上述方法不起作用
reqFTP.UsePassive = false;
Run Code Online (Sandbox Code Playgroud)
我发现将这些设置为 false 可以大大减少此错误(由 FTP 服务器生成)的发生率。