Question

Je recherche un court exemple de code qui utilise l'espace de noms System.Net.FtpWebRequest pour obtenir l'horodatage d'un fichier distant spécifié sur un serveur ftp. Je sais que je dois définir la propriété Method de mon objet request sur WebRequestMethods.Ftp.GetDateTimestamp mais je ne sais pas comment obtenir la réponse dans un objet System.DateTime.

Était-ce utile?

La solution

Oui - c'est à peu près ce avec quoi j'ai fini. Je suis allé avec quelque chose comme ça

request = FtpWebRequest.Create("ftp://ftp.whatever.com/somefile.txt");

request.Method = WebRequestMethods.Ftp.GetDateTimestamp;
request.Proxy = null;

using (FtpWebResponse resp = (FtpWebResponse)request.GetResponse())
{
        Console.WriteLine(resp.LastModified);
}

Autres conseils

Pour obtenir le champ de date uniquement mais pas l'heure, procédez exactement comme la première réponse de cette discussion avec l'exception suivante:

Console.WriteLine(response.LastModified().ToShortDateString);

Quelque chose comme ça:

DateTime DateValue;    

FtpWebRequest Request = (FtpWebRequest)WebRequest.Create(yourUri);
Request.Method = WebRequestMethods.Ftp.GetDateTimestamp;
Request.UseBinary = false;

using (FtpWebResponse Response = (FtpWebResponse)Request.GetResponse())
using (TextReader Reader = new StringReader(Response.StatusDescription))
{
    string DateString = Reader.ReadLine().Substring(4);
    DateValue = DateTime.ParseExact(DateString, "yyyyMMddHHmmss", CultureInfo.InvariantCulture.DateTimeFormat);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top