FtpWebRequest.EnableSsl Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit un élément Boolean qui spécifie qu'il faut utiliser une connexion 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
Valeur de propriété
true
si le contrôle et les transmissions de données sont chiffrés ; sinon, false
. La valeur par défaut est false
.
Exceptions
La connexion au serveur FTP a déjà été établie.
Exemples
L’exemple de code suivant utilise une connexion chiffrée pour télécharger la liste des répertoires à partir d’un serveur FTP.
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 = dynamic_cast<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 = dynamic_cast<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 = nullptr;
StreamReader^ readStream = nullptr;
responseStream = response->GetResponseStream();
readStream = gcnew StreamReader( responseStream,System::Text::Encoding::UTF8 );
// Display the data received from the server.
Console::WriteLine( readStream->ReadToEnd() );
Console::WriteLine( "List status: {0}", response->StatusDescription );
readStream->Close();
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;
}
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;
}
Remarques
Attention
Sauf si la EnableSsl propriété est true
, toutes les données et commandes, y compris vos informations de nom d’utilisateur et de mot de passe, sont envoyées au serveur en texte clair. Toute personne surveillant le trafic réseau peut voir vos informations d’identification et les utiliser pour se connecter au serveur. Si vous vous connectez à un serveur FTP qui nécessite des informations d’identification et prend en charge SSL, vous devez définir EnableSsl sur true
.
La "AUTH TLS"
commande est envoyée au serveur pour demander une session chiffrée. Si le serveur ne reconnaît pas cette commande, vous recevez une WebException exception.