exemplo System.Net.FtpWebRequest GetDateTimestamp
-
22-07-2019 - |
Pergunta
Eu estou olhando para uma pequena pouco de código de exemplo que usa o namespace System.Net.FtpWebRequest para obter o timestamp de um arquivo remoto especificado em um servidor FTP. Eu sei que eu preciso para definir a propriedade Method do meu pedido objeto para WebRequestMethods.Ftp.GetDateTimestamp mas não tenho certeza de como obter de volta a resposta em um objeto System.DateTime.
Solução
Sim - isso é muito bonito o que eu acabei com. Fui com algo como isto
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);
}
Outras dicas
Para obter o campo de data única, mas não o tempo todo, fazer exatamente como a primeira resposta neste segmento com a seguinte exceção:
Console.WriteLine(response.LastModified().ToShortDateString);
Algo parecido com isto:
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);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow