List <string> GetListaArquivosSFTP(TDEPARA pDePara, Enum.EnumTipoCredencial pTipoCredencial) { string PastaListarAquivos; List <string> liArquivos = new List <string>(); return(liArquivos); }
List<string> GetListaArquivosFTP(TDEPARA pDePara, Enum.EnumTipoCredencial pTipoCredencial) { string PastaListarAquivos; List<string> liArquivos = new List<string>(); try { //TCREDENCIALFTP credencialFtp; if (pTipoCredencial == EnumTipoCredencial.De) PastaListarAquivos = pDePara.ATXT_SERVIDOR_ORIGEM + pDePara.ANOM_ORIGEM; else PastaListarAquivos = pDePara.ATXT_SERVIDOR_DESTINO + pDePara.ANOM_DESTINO; Log.RegistrarLogInformacao("Procurando arquivos na pasta " + PastaListarAquivos); //Cria comunicação com o servidor //Definir o diretório a ser listado FtpWebRequest request = (FtpWebRequest)WebRequest.Create(PastaListarAquivos); //Define que a ação vai ser de listar diretório request.Method = WebRequestMethods.Ftp.ListDirectory; //Credenciais para o login (usuario, senha) if (pTipoCredencial == EnumTipoCredencial.De) request.Credentials = new NetworkCredential(pDePara.ATXT_USUARIO_ORIGEM, pDePara.ATXT_SENHA_ORIGEM); else request.Credentials = new NetworkCredential(pDePara.ATXT_USUARIO_DESTINO, pDePara.ATXT_SENHA_DESTINO); //modo passivo request.UsePassive = true; //dados binarios request.UseBinary = true; //setar o KeepAlive para true request.KeepAlive = true; //Habilitando SSL request.EnableSsl = true; //Passando por fora do proxy request.Proxy = null; ServicePointManager.ServerCertificateValidationCallback += (o, c, ch, er) => true; using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) { Log.RegistrarLogInformacao("Conexão realizada, obtendo arquivos"); //Criando a Stream para pegar o retorno Stream responseStream = response.GetResponseStream(); using (StreamReader reader = new StreamReader(responseStream)) { //Adicionar os arquivos na lista liArquivos = reader.ReadToEnd().Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList<string>(); } } Log.RegistrarLogInformacao("Lista de arquivos carregada com sucesso"); } catch (Exception ex) { string credencial = ""; switch (pTipoCredencial) { case EnumTipoCredencial.De: credencial = pDePara.ATXT_SERVIDOR_ORIGEM + pDePara.ANOM_ORIGEM + " - " + pDePara.ATXT_USUARIO_ORIGEM; break; case EnumTipoCredencial.Para: credencial = pDePara.ATXT_SERVIDOR_DESTINO + pDePara.ANOM_DESTINO + " - " + pDePara.ATXT_USUARIO_DESTINO; break; } Log.RegistrarLogErro("Ao realizar o carregar lista de arquivos com a credencial " + credencial); Log.RegistrarLogErro("Mensagem de erro: " + ex.ToString()); } return liArquivos; }