System.Net.FtpWebRequest GetDateTimestamp пример - PullRequest
8 голосов
/ 24 июня 2009

Я ищу небольшой фрагмент кода, который использует пространство имен System.Net.FtpWebRequest для получения метки времени указанного удаленного файла на FTP-сервере. Я знаю, что мне нужно установить свойство Method моего объекта запроса равным WebRequestMethods.Ftp.GetDateTimestamp, но я не уверен, как получить ответ обратно в объект System.DateTime.

Ответы [ 3 ]

15 голосов
/ 26 июня 2009

Да - это почти то, что я закончил. Я пошел с чем-то вроде этого

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);
}
1 голос
/ 10 января 2012

Чтобы получить только поле даты, но не время, делайте в точности как первый ответ в этой теме со следующим исключением:

Console.WriteLine(response.LastModified().ToShortDateString);
1 голос
/ 26 июня 2009

Примерно так:

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