我们公司的网站托管在ORCSWEB。在ORCS端设置了某种策略和规则。当人们尝试使用错误的凭证3次访问我们公司的ftp并失败时,我们的ftp将被锁定。我们经常以编程方式通过ftp上传文件,但有时会发现ftp锁。所以我和orcsweb技术支持人员交谈:他们说我们试图通过代码匿名访问我们的ftp。所以我用来访问ftp的代码如下。因此,请仔细检查我的代码并告诉我代码导致匿名访问的错误,因为我尝试使用正确的凭据进行访问。
public static string IsFtpAccessible(string FTPAddress)
{
string strError = "";
FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(FTPAddress);
FtpWebResponse res;
StreamReader reader;
ftp.Credentials = new NetworkCredential("myuserid", "00000password");
ftp.KeepAlive = false;
ftp.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
ftp.UsePassive = true;
ftp.UseBinary = true;
ftp.KeepAlive = false;
try
{
using (res = (FtpWebResponse)ftp.GetResponse())
{
reader = new StreamReader(res.GetResponseStream());
}
}
catch(Exception ex)
{
strError = "ERROR:" + ex.Message.ToString();
}
return strError;
}
请告诉我我的代码中缺少什么导致匿名访问。
答案 0 :(得分:3)
必须在服务器上允许匿名访问,我假设根据您的描述不允许匿名访问。通常,匿名访问凭证的提供方式如下:
request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");
重点是电子邮件地址是密码。
如果您有时只发现基于代码的FTP被锁定,那么这不是您的问题所在。