8

我正在寻找一小段示例代码,它使用 System.Net.FtpWebRequest 命名空间来获取 ftp 服务器上指定远程文件的时间戳。我知道我需要将请求对象的 Method 属性设置为 WebRequestMethods.Ftp.GetDateTimestamp 但我不确定如何将响应返回到 System.DateTime 对象中。

4

3 回答 3

17

是的 - 这几乎就是我最终的结果。我带着这样的东西去了

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);
}
于 2009-06-26T08:55:53.920 回答
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);
}
于 2009-06-26T08:24:12.720 回答
1

要仅获取日期字段而不获取时间,请完全按照此线程中的第一个答案进行操作,但有以下例外:

Console.WriteLine(response.LastModified().ToShortDateString);
于 2012-01-10T15:45:22.240 回答