1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| StreamReader monStreamReader = null;//GetResponseStream
FtpWebResponse maResponseListe = null;//GetResponse
// Instanciation de deux Uri qui vont contenir les chemins source et destination
System.Uri monUriServeur = new System.Uri(serveurCible);
// Vérification de la validité de l'Uri du fichier sur le serveur FTP
if (!(monUriServeur.Scheme == Uri.UriSchemeFtp)) {
Console.WriteLine("L'Uri du serveur FTP n'est pas valide");
return;//Si Uri non valide arrêt du listage
}
try
{
// Création de la requête de récupération de la liste des fichiers
FtpWebRequest maRequeteListe = (FtpWebRequest)WebRequest.Create(monUriServeur);
maRequeteListe.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
maRequeteListe.KeepAlive = false;
// Vérification de la présence des identifiant d'un compte, si aucun alors
// la connexion se fait en mode anonyme
if (!(identifiant.Length == 0)) {
NetworkCredential monCompteFtp = new NetworkCredential(identifiant, motDePasse);
maRequeteListe.Credentials = monCompteFtp;
}
// Récupération de la liste de fichiers
maResponseListe = (FtpWebResponse)maRequeteListe.GetResponse();
// Placement du flux provenant du serveur dans un streamreader
monStreamReader = new StreamReader(maResponseListe.GetResponseStream(), Encoding.Default);
// Lecture du stream reader
string listeBrute = monStreamReader.ReadToEnd();
// Correspond à un retour chariot
string[] separateur = { Environment.NewLine };
// Découpage et récupération des noms de fichiers
_ListeFichier = listeBrute.Split(separateur, StringSplitOptions.RemoveEmptyEntries);
if (verbose) {
Console.WriteLine("**********************************************************");
Console.WriteLine("* Récupération de la Liste des fichiers distant terminée *");
Console.WriteLine("**********************************************************");
}
_ResultatDerniereAction = true;
}
catch (UriFormatException ex)
{
// Gestion des exceptions
Console.WriteLine("UriFormatException : " + ex.Message);
_ResultatDerniereAction = false;
_strErreur = "UriFormatException";
}
catch (WebException ex)
{
Console.WriteLine("WebException : " + ex.Message);
_ResultatDerniereAction = false;
_strErreur = "WebException";
}
finally
{
if (monStreamReader != null) {
monStreamReader.Close();
}
if (maResponseListe != null) {
maResponseListe.Close();
}
} |
Partager