Conectar FTP
Boa tarde, eu utilizava a FrameWork Chilkat para trabalhar com FTPs, mas ela possui um limite de 30 dias de uso, sendo posteriormente a necessidade de comprar a licença.
Gostaria de saber se existe alguma forma de comunicação via ftp com Frameworks Free ou com a própria da Microsoft.
Quero ver se encontro alguma alternativa antes de solicitar a compra dessa Framework, que por sinal é cara.
Desde já agraceço
PS. Utilizo o Visual Studio 2008 - WinForms
Gostaria de saber se existe alguma forma de comunicação via ftp com Frameworks Free ou com a própria da Microsoft.
Quero ver se encontro alguma alternativa antes de solicitar a compra dessa Framework, que por sinal é cara.
Desde já agraceço
PS. Utilizo o Visual Studio 2008 - WinForms
Fábio Cruz
Curtidas 0
Respostas
Jose Silva
16/03/2010
Caro amigo
Você pode utilizar o FileZilla (http://filezilla-project.org) que é gratuito e um senhor programa de ftp.
Espero ter resolvido o seu problema.
GOSTEI 0
Fábio Cruz
16/03/2010
na verdade queria algo para meu programa, ficando transparente para o usuário.
GOSTEI 0
Marcio Silveira
16/03/2010
Eu uso a versão gratuita do edtftpnet, você pode baixá-la gratuitamente no site do fabricante: http://www.enterprisedt.com/products/edtftpnet/overview.html
[]'s
[]'s
GOSTEI 0
Alexandre Machado
16/03/2010
FtpWebRequest _ftp;
// abaixo voce define o arquivo que será transferido
_ftp = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://caminho/arquivo"));
// abaixo voce detine o metodo de transferencia
_ftp.Method = WebRequestMethods.Ftp.DownloadFile;
// se é binario _ftp.UseBinary = true;
// se vai usar proxy _ftp.Proxy = HttpWebRequest.DefaultWebProxy;
// as credenciais do proxy _ftp.Proxy.Credentials = CredentialCache.DefaultCredentials; FtpWebResponse _response = (FtpWebResponse)_ftp.GetResponse();
// agora voce precisa pegar o que esta recebendo do ftp e gravar em um arquivo. Stream _ftpstream = _response.GetResponseStream();
long _cl = _response.ContentLength; int _bufferSize = 2048; int _readCount; byte[] _buffer = new byte[_bufferSize]; _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); while (_readCount > 0) {
progressBar1.Increment(2048);
_outputStream.Write(_buffer, 0, _readCount);
Application.DoEvents();
_readCount = _ftpstream.Read(_buffer, 0, _bufferSize);
} _ftpstream.Close();
_outputStream.Close();
_response.Close();
_ftp.Method = WebRequestMethods.Ftp.DownloadFile;
// se é binario _ftp.UseBinary = true;
// se vai usar proxy _ftp.Proxy = HttpWebRequest.DefaultWebProxy;
// as credenciais do proxy _ftp.Proxy.Credentials = CredentialCache.DefaultCredentials; FtpWebResponse _response = (FtpWebResponse)_ftp.GetResponse();
// agora voce precisa pegar o que esta recebendo do ftp e gravar em um arquivo. Stream _ftpstream = _response.GetResponseStream();
long _cl = _response.ContentLength; int _bufferSize = 2048; int _readCount; byte[] _buffer = new byte[_bufferSize]; _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); while (_readCount > 0) {
progressBar1.Increment(2048);
_outputStream.Write(_buffer, 0, _readCount);
Application.DoEvents();
_readCount = _ftpstream.Read(_buffer, 0, _bufferSize);
} _ftpstream.Close();
_outputStream.Close();
_response.Close();
GOSTEI 0
Alexandre Machado
16/03/2010
FtpWebRequest _ftp;
// abaixo voce define o arquivo que será transferido
_ftp = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://caminho/arquivo"));
// abaixo voce detine o metodo de transferencia
_ftp.Method = WebRequestMethods.Ftp.DownloadFile;
// se é binario _ftp.UseBinary = true;
// se vai usar proxy _ftp.Proxy = HttpWebRequest.DefaultWebProxy;
// as credenciais do proxy _ftp.Proxy.Credentials = CredentialCache.DefaultCredentials; // FtpWebResponse _response = (FtpWebResponse)_ftp.GetResponse();
// agora voce precisa pegar o que esta recebendo do ftp e gravar em um arquivo. Stream _ftpstream = _response.GetResponseStream();
long _cl = _response.ContentLength; int _bufferSize = 2048; int _readCount; byte[] _buffer = new byte[_bufferSize]; _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); while (_readCount > 0) { _outputStream.Write(_buffer, 0, _readCount); _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); } _ftpstream.Close(); _outputStream.Close(); _response.Close(); bom, é mais ou menos isso, tentei montar uma função para pegar um arquivo, passando por um ISA Server da microsoft, e não consegui, não sei se era alguma configuração do ISA, se for o seu caso fique atento.
_ftp.Method = WebRequestMethods.Ftp.DownloadFile;
// se é binario _ftp.UseBinary = true;
// se vai usar proxy _ftp.Proxy = HttpWebRequest.DefaultWebProxy;
// as credenciais do proxy _ftp.Proxy.Credentials = CredentialCache.DefaultCredentials; // FtpWebResponse _response = (FtpWebResponse)_ftp.GetResponse();
// agora voce precisa pegar o que esta recebendo do ftp e gravar em um arquivo. Stream _ftpstream = _response.GetResponseStream();
long _cl = _response.ContentLength; int _bufferSize = 2048; int _readCount; byte[] _buffer = new byte[_bufferSize]; _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); while (_readCount > 0) { _outputStream.Write(_buffer, 0, _readCount); _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); } _ftpstream.Close(); _outputStream.Close(); _response.Close(); bom, é mais ou menos isso, tentei montar uma função para pegar um arquivo, passando por um ISA Server da microsoft, e não consegui, não sei se era alguma configuração do ISA, se for o seu caso fique atento.
GOSTEI 0
Alexandre Machado
16/03/2010
FtpWebRequest _ftp;
// abaixo voce define o arquivo que será transferido
_ftp = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://caminho/arquivo"));
// abaixo voce detine o metodo de transferencia
_ftp.Method = WebRequestMethods.Ftp.DownloadFile;
// se é binario _ftp.UseBinary = true;
// se vai usar proxy _ftp.Proxy = HttpWebRequest.DefaultWebProxy;
// as credenciais do proxy _ftp.Proxy.Credentials = CredentialCache.DefaultCredentials; FtpWebResponse _response = (FtpWebResponse)_ftp.GetResponse();
// agora voce precisa pegar o que esta recebendo do ftp e gravar em um arquivo. Stream _ftpstream = _response.GetResponseStream();
long _cl = _response.ContentLength; int _bufferSize = 2048; int _readCount; byte[] _buffer = new byte[_bufferSize]; _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); while (_readCount > 0) {
progressBar1.Increment(2048);
_outputStream.Write(_buffer, 0, _readCount);
Application.DoEvents();
_readCount = _ftpstream.Read(_buffer, 0, _bufferSize);
} _ftpstream.Close();
_outputStream.Close();
_response.Close();
_ftp.Method = WebRequestMethods.Ftp.DownloadFile;
// se é binario _ftp.UseBinary = true;
// se vai usar proxy _ftp.Proxy = HttpWebRequest.DefaultWebProxy;
// as credenciais do proxy _ftp.Proxy.Credentials = CredentialCache.DefaultCredentials; FtpWebResponse _response = (FtpWebResponse)_ftp.GetResponse();
// agora voce precisa pegar o que esta recebendo do ftp e gravar em um arquivo. Stream _ftpstream = _response.GetResponseStream();
long _cl = _response.ContentLength; int _bufferSize = 2048; int _readCount; byte[] _buffer = new byte[_bufferSize]; _readCount = _ftpstream.Read(_buffer, 0, _bufferSize); while (_readCount > 0) {
progressBar1.Increment(2048);
_outputStream.Write(_buffer, 0, _readCount);
Application.DoEvents();
_readCount = _ftpstream.Read(_buffer, 0, _bufferSize);
} _ftpstream.Close();
_outputStream.Close();
_response.Close();
GOSTEI 0
Alexandre Machado
16/03/2010
putz, que bagunça que eu fiz. hehehehe
GOSTEI 0