Система.Сеть.Пример Ftpwebrequest GetDateTimestamp

Я ищу короткий бит образца кода, который использует систему.Сеть.Пространство имен FtpWebRequest для получения метки времени указанного удаленного файла на ftp-сервере. Я знаю, что мне нужно установить свойство метода моего объекта запроса в WebRequestMethods.Программа передачи файлов.GetDateTimestamp, но я не уверен, как вернуть ответ в систему.объект datetime.

3 ответов


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

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

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

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

что-то вроде этого:

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