Conectando servidor FTP com credenciais
Estou escrevendo um programa que usa um servidor ftp com credenciais. Estou tentando recuperar a lista de diretórios do servidor, mas quando chego à linha:
string line = reader.ReadLine();
a string que recebo contém apenas: "Não é possível abrir \" host: / lib1 \ "."
Se eu tentar obter outra linha, a próxima exceção será lançada: O servidor remoto retornou um erro: (550) Arquivo indisponível (por exemplo, arquivo não encontrado, sem acesso).
Sei com certeza (usando outro aplicativo ftp) que o diretório 'lib1' existe no servidor ftp e minhas credenciais (nome de usuário e senha) estão corretas.
Aqui está o meu código:
public class FTPClient
{
public string UserName { get; set; }
public string Password { get; set; }
public string IpAddress { get; set; }
public int Port { get; set; }
public FTPClient(string _userName, string _password, string _address, int _port)
{
UserName = _userName;
Password = _password;
IpAddress = _address;
Port = _port;
}
public void GetDirectoriesList(string _path)
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri("ftp://" +
IpAddress + _path));
request.UseBinary = true;
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential(UserName, Password);
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string line = reader.ReadLine();
while (line!=null)
{
... //do something with line
line = reader.ReadLine();
}
...
reader.Close();
response.Close();
}
E eu uso da seguinte forma:
FTPClient ftpClient = new FTPClient("user1", "pass1", "192.168.2.110", 21);
string dirList = ftpClient.GetDirectoriesList("/lib1");
Alguém pode identificar o problema?