通过ftp进行匿名访问和文件上传#

时间:2012-11-21 18:43:05

标签: c# ftp

我们公司的网站托管在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;
    }

请告诉我我的代码中缺少什么导致匿名访问。

1 个答案:

答案 0 :(得分:3)

必须在服务器上允许匿名访问,我假设根据您的描述不允许匿名访问。通常,匿名访问凭证的提供方式如下:

request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");

重点是电子邮件地址是密码。

如果您有时只发现基于代码的FTP被锁定,那么这不是您的问题所在。