FtpWebRequest.EnableSsl Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение Boolean , указывающее, что необходимо использовать SSL-подключение.
public:
property bool EnableSsl { bool get(); void set(bool value); };
public bool EnableSsl { get; set; }
member this.EnableSsl : bool with get, set
Public Property EnableSsl As Boolean
Значение свойства
true Значение , если данные управления и передачи данных шифруются; falseв противном случае . Значение по умолчанию — false.
Исключения
Подключение к FTP-серверу уже установлено.
Примеры
В следующем примере кода используется зашифрованное подключение для скачивания списка каталогов с FTP-сервера.
public static bool ListFilesOnServerSsl(Uri serverUri)
{
// The serverUri should start with the ftp:// scheme.
if (serverUri.Scheme != Uri.UriSchemeFtp)
{
return false;
}
// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.EnableSsl = true;
// Get the ServicePoint object used for this request, and limit it to one connection.
// In a real-world application you might use the default number of connections (2),
// or select a value that works best for your application.
ServicePoint sp = request.ServicePoint;
Console.WriteLine("ServicePoint connections = {0}.", sp.ConnectionLimit);
sp.ConnectionLimit = 1;
FtpWebResponse response = (FtpWebResponse) request.GetResponse();
Console.WriteLine("The content length is {0}", response.ContentLength);
// The following streams are used to read the data returned from the server.
Stream responseStream = null;
StreamReader readStream = null;
try
{
responseStream = response.GetResponseStream();
readStream = new StreamReader(responseStream, System.Text.Encoding.UTF8);
if (readStream != null)
{
// Display the data received from the server.
Console.WriteLine(readStream.ReadToEnd());
}
Console.WriteLine("List status: {0}",response.StatusDescription);
}
finally
{
if (readStream != null)
{
readStream.Close();
}
if (response != null)
{
response.Close();
}
}
Console.WriteLine("Banner message: {0}",
response.BannerMessage);
Console.WriteLine("Welcome message: {0}",
response.WelcomeMessage);
Console.WriteLine("Exit message: {0}",
response.ExitMessage);
return true;
}
Комментарии
Предостережение
Если EnableSsl свойство не имеет trueзначения, все данные и команды, включая имя пользователя и сведения о пароле, отправляются на сервер в виде ясного текста. Любой пользователь, отслеживая сетевой трафик, может просматривать свои учетные данные и использовать их для подключения к серверу. Если вы подключаетесь к FTP-серверу, которому требуются учетные данные и поддерживается ПРОТОКОЛ SSL, необходимо задать значение EnableSsltrue.
Команда "AUTH TLS" отправляется серверу для запроса зашифрованного сеанса. Если сервер не распознает эту команду, вы получите WebException исключение.