Partager via


FtpWebRequest.GetResponse Méthode

Définition

Retourne la réponse du serveur FTP.

public:
 override System::Net::WebResponse ^ GetResponse();
public override System.Net.WebResponse GetResponse();
override this.GetResponse : unit -> System.Net.WebResponse
Public Overrides Function GetResponse () As WebResponse

Retours

Référence WebResponse qui contient une FtpWebResponse instance. Cet objet contient la réponse du serveur FTP à la demande.

Exceptions

GetResponse() ou BeginGetResponse(AsyncCallback, Object) a déjà été appelé pour cette instance.

- ou -

Un proxy HTTP est activé et vous avez tenté d’utiliser une commande FTP autre que DownloadFile, ListDirectoryou ListDirectoryDetails.

EnableSsl est défini sur true, mais le serveur ne prend pas en charge cette fonctionnalité.

- ou -

Un Timeout a été spécifié et le délai d’expiration a expiré.

Exemples

L’exemple de code suivant illustre la copie d’un fichier dans le flux de données d’une demande et l’envoi d’une demande pour ajouter des données à un fichier au serveur. L’exemple appelle GetResponse pour envoyer la requête et bloquer jusqu’à ce que la réponse soit retournée par le serveur.

public static bool AppendFileOnServer(string fileName, Uri serverUri)
{
    // The URI described by serverUri should use the ftp:// scheme.
    // It contains the name of the file on the server.
    // Example: ftp://contoso.com/someFile.txt.
    // The fileName parameter identifies the file containing
    // the data to be appended to the file on the server.

    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.AppendFile;

    StreamReader sourceStream = new StreamReader(fileName);
    byte [] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
    sourceStream.Close();
    request.ContentLength = fileContents.Length;

    // This example assumes the FTP site uses anonymous logon.
    request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");
    Stream requestStream = request.GetRequestStream();
    requestStream.Write(fileContents, 0, fileContents.Length);
    requestStream.Close();
    FtpWebResponse response = (FtpWebResponse) request.GetResponse();

    Console.WriteLine("Append status: {0}",response.StatusDescription);

    response.Close();
    return true;
}

Remarques

Pour accéder aux propriétés spécifiques à FTP, vous devez convertir l’objet WebResponse retourné par cette méthode FtpWebResponseen .

GetResponse provoque l’établissement d’une connexion de contrôle et peut également créer une connexion de données. GetResponse bloque jusqu’à ce que la réponse soit reçue. Pour éviter cela, vous pouvez effectuer cette opération de façon asynchrone en appelant les méthodes et EndGetResponse les méthodes à la BeginGetResponse place de GetResponse.

Si la Proxy propriété est définie, directement ou dans un fichier de configuration, les communications avec le serveur FTP sont effectuées via le proxy.

Si une WebException exception est levée, utilisez les propriétés et Status les Response propriétés de l’exception pour déterminer la réponse du serveur.

Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.

Note

Plusieurs appels pour GetResponse retourner le même objet de réponse ; la requête n’est pas rééditée.

Notes pour les appelants

Cette méthode génère le trafic réseau.

S’applique à

Voir aussi