ERRO - FTP VB.NET

VELDRAME 09/01/2013 10:15:44
#417038
Bom dia.

Estava com problema para listar arquivos de um FTP e o mesmo já foi sanado pelo Alevale.
Porem hoje ao dar continuidade na tarefa me deparei com o erro de [Ô]AÇÃO PROIBIDA[Ô] ao solicitar o download do arquivo.

Mensagem de erro:
Ocorreu uma exceção sem tratamento do tipo [ô]System.Net.WebException[ô] em FTP_JK.exe
Informações adicionais: O servidor remoto retornou um erro: (403) Proibido.

Tentei colocar a seguinte configuração.

====================================================================================================================

Dim ftpRequest As FtpWebRequest = CType(WebRequest.Create(downloadUri), FtpWebRequest)

ftpRequest.UsePassive = True
ftpRequest.Credentials = New NetworkCredential(Me.m_userName, Me.m_password)

Dim ftpResponse As FtpWebResponse = CType(ftpRequest.GetResponse, FtpWebResponse) ---> O erro esta nesta linha.

====================================================================================================================

Alguém sabe me disser o que pode estar errado?
Pois em tudo que procurei (WEB) indicar que a configuração é esta.
VELDRAME 09/01/2013 12:30:18
#417042
Estou tentndo assim para ajustar, mas o erro continua.
O que de errado?

[ô]Confugurando Proxy
Dim Proxy As New System.Net.WebProxy(New Uri([Ô]http://192.168.49.1:3821[Ô]))
Proxy.Credentials = New NetworkCredential([Ô]elima[Ô], [Ô]025846[Ô])
AJSO 09/01/2013 12:52:55
#417045
Resposta escolhida
CAro VELDRAME

Você adicionou permissão para o acesso a esta Diretório........

Isso significa que tem uma restrição ao IP ou diretório onde est apontado para seu FTP

Solução é dar permissão a este diretório:

Entre e clique na guia Segurança de diretório e, em seguida, clique em Editar na área restrições de nome de domínio e endereço IP ..
E depois clique em acesso concedidoe, em seguida, clique em OK duas vezes.


Boa Sorte
VELDRAME 09/01/2013 13:25:42
#417047
Caro AJSO.
Obrigado pela resposta.

O FTP é externo, é do Correios, na pasta em questão ficam os arquivos de respostas do serviço contratado de rastreamentos de AR.
Eu baixo os arquivos e inputo no meu sistema.

Então não dá para alterar permissão. Na verdade acho que é só leitura pois só consigo baixar e não faço mais nada.
Tão que eu consigo listar os arquivos e visualizar se conteúdo.
Pensei na opção de ler os arquivos e criar um txt com as informações ao invés de baixa-los, mas isso não é possível pois a empresa tem que ter uma cópia do arquivo original para garantir consistência dos dados (exigência de um dos nossos clientes) .

Alguma outra sugestão?

VELDRAME 09/01/2013 16:46:51
#417057
Solução:
[ô]------------------------------ Local para o Download , Arquivo a Ser Baixado , Usuário(FTP) , Senha (FTP)
Public Function Download(ByVal destinationFile As String, ByVal downloadUri As Uri, ByVal wUsuario As String, ByVal wSenha As String) As FtpStatusCode

Try
[ô]Configura o pedido
Dim ftpRequest As FtpWebRequest = CType(WebRequest.Create(downloadUri), FtpWebRequest)

[ô]Credenciais para a conexão
ftpRequest.Credentials = New NetworkCredential(wUsuario, wSenha)

[ô]Tipo de conexão
ftpRequest.UsePassive = True
ftpRequest.KeepAlive = True
ftpRequest.Proxy = Nothing [txt-color=#e80000] ----> O erro estava acontecendo porque eu não conseguia fazer o Proxy funcionar, ai encontrei esta opção - Não usar o Proxy[/txt-color]

[ô]Requisição no FTP
ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile

[ô]Obtém o objeto de resposta
Using ftpResponse As System.Net.FtpWebResponse = CType(ftpRequest.GetResponse, FtpWebResponse)

Using responseStream As IO.Stream = ftpResponse.GetResponseStream

[ô]Para Ler o arquivo de origem e Escrever o Arquivo de destino
Using fs As New IO.FileStream(destinationFile, IO.FileMode.Create)
Dim buffer(2047) As Byte
Dim read As Integer = 0

Do
read = responseStream.Read(buffer, 0, buffer.Length)
fs.Write(buffer, 0, read)
Loop Until read = 0

responseStream.Close()
fs.Flush()
fs.Close()
End Using

responseStream.Close()

End Using

ftpResponse.Close()

End Using

Catch ex As Exception
Throw ex
End Try

End Function
VELDRAME 09/01/2013 16:48:20
#417059
Caro AJSO.

A sua solução não deu certo, mas como você tentou estou te pontuando.

Abrigado mais uma vez.
Tópico encerrado , respostas não são mais permitidas