FtpWebRequest.EnableSsl Eigenschaft

Definition

Ruft einen Wert vom Typ Boolean ab, der angibt, dass eine SSL-Verbindung verwendet werden soll, oder legt diesen fest.

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

Eigenschaftswert

true, wenn die Übertragung der Steuerung und Daten verschlüsselt ist, andernfalls false. Der Standardwert ist false.

Ausnahmen

Die Verbindung mit dem FTP-Server wurde bereits hergestellt.

Beispiele

Im folgenden Codebeispiel wird eine verschlüsselte Verbindung verwendet, um die Verzeichnisliste von einem FTP-Server herunterzuladen.

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;
}

Hinweise

Achtung

Sofern die EnableSsl Eigenschaft nicht lautet true, werden alle Daten und Befehle, einschließlich Ihres Benutzernamens und Ihrer Kennwortinformationen, in Klartext an den Server gesendet. Jeder, der den Netzwerkdatenverkehr überwacht, kann Ihre Anmeldeinformationen anzeigen und zum Herstellen einer Verbindung mit dem Server verwenden. Wenn Sie eine Verbindung mit einem FTP-Server herstellen, der Anmeldeinformationen erfordert und SSL unterstützt, sollten Sie auf truefestlegenEnableSsl.

Der "AUTH TLS" Befehl wird an den Server gesendet, um eine verschlüsselte Sitzung anzufordern. Wenn der Server diesen Befehl nicht erkennt, erhalten Sie eine WebException Ausnahme.

Gilt für:

Weitere Informationen