Вопрос по – System.Net.FtpWebRequest GetDateTimestamp пример

8

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

Ваш Ответ

3   ответа
1

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

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

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

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

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);
}
Одна проблема с этим подходом - он автоматически преобразует время в текущий часовой пояс клиента, а не часовой пояс сервера. Я обнаружил, что мне нужно использовать WebRequestMethods.Ftp.ListDirectoryDetails и проанализировать время вне строки, в которой находится файл, чтобы получить дату изменения часового пояса сервера.
Очень хороший момент, я скучаю по этой недвижимости.

Похожие вопросы