1
我們公司的網站託管在ORCSWEB。在ORCS結束時已經設定了一些策略和規則。當人們嘗試訪問我們公司的ftp並且錯誤的憑證3次失敗時,我們的ftp將被鎖定。我們經常以編程方式通過ftp上傳文件,但有時發現ftp鎖。所以我和orcsweb技術支持人員交談:他們說我們試圖通過代碼匿名訪問我們的ftp。所以我用來訪問ftp的代碼如下。因此,請仔細閱讀我的代碼,並告訴我在導致匿名訪問的代碼中出現了什麼問題,因爲我嘗試使用正確的憑據進行訪問。通過ftp匿名訪問和文件上傳c#
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;
}
所以告訴我什麼是缺少在我的代碼,導致匿名訪問。
什麼是被動模式和什麼是主動模式。 UseBinary&KeepAlive屬性的功能是什麼?任何人都可以介紹一下。 – Thomas
UseBinary:true向服務器表明要傳輸的數據是二進制的;爲false表示數據是文本。默認值是true。這裏的更多信息:http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.usebinary.aspx – Mark
KeepAlive:如果不應銷燬與服務器的連接,則爲true;否則,是錯誤的。默認值是true。更多信息在這裏:http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.keepalive.aspx – Mark