FtpWebRequest.EnableSsl Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. Jede Person, die den Netzwerkdatenverkehr überwacht, kann Ihre Anmeldeinformationen sehen 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 true
festlegenEnableSsl.
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.