• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ricardoantunes

[Resolvido] Programa de FTP

26 mensagens neste tópico

Bons dias.

Queria ir a um servidor de FTP e fazer o download de um ficheiro automaticamente.

Estou a usar isto: My.Computer.Network.DownloadFile("ftp://username:password@192.168.1.226/TRENDS/T_CICLO.SKV", "c:\teste.skv")

Mas está a dar "The remote server returned an error: (425) Can't open data connection."

Alguém já viu este erro? Já experimentei com vários tipos de códigos...

Abraço,

Ricardo

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Outra coisa... Se usar um programa de FTP, tipo o CuteFTP, consigo fazer login e ir buscar o dito ficheiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenta lá assim:

        Dim strUsername As String = "Administrator"
        Dim strPassword As String = ""

        Dim netCredential As New Net.NetworkCredential
        netCredential.UserName = strUsername
        netCredential.Password = strPassword

        Dim client As New Net.WebClient
        client.Credentials = netCredential
        client.DownloadFile("ftp://192.168.1.226/TRENDS/T_CICLO.SKV", "teste.skv")

        netCredential = Nothing
        client.Dispose()

Já agora, queres ler o ficheiro ou precisas mesmo de descarrega-lo ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dá o mesmo erro....

Que estranho... Com um programa de FTP normal ligo-me normalmente

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A ideia é passar o conteúdo do ficheiro para uma tabela da minha base de dados

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dá o mesmo erro....

Que estranho... Com um programa de FTP normal ligo-me normalmente

Julgo que estás a fazer alguma coisa mal ... digo eu :(

Mostra lá como testaste da última vez.

A ideia é passar o conteúdo do ficheiro para uma tabela da minha base de dados

Os seja vais ler o ficheiro depois é isso ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

        Dim strUsername As String = "meuuser"

        Dim strPassword As String = "minhapass"

        Dim netCredential As New Net.NetworkCredential

        netCredential.UserName = strUsername

        netCredential.Password = strPassword

        Dim client As New Net.WebClient

        client.Credentials = netCredential

        client.DownloadFile("ftp://192.168.1.226/TRENDS/T_CICLO.SKV", "teste.skv")

        netCredential = Nothing

        client.Dispose()

dá erro quando faz a linha :        client.DownloadFile("ftp://192.168.1.226/TRENDS/T_CICLO.SKV", "teste.skv")

sim, quero ler o ficheiro depois

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenta também aumentar o timeout

My.Computer.Network.DownloadFile("ftp://192.168.1.226/TRENDS/T_CICLO.SKV", "c:\teste.skv", "username", "pass", False, 5000)

Vai mudando o tempo para ver se consegues ligação. Provavelmente é lento a ligar-se.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ao fazer o :

        My.Computer.Network.DownloadFile("ftp://192.168.1.226/TRENDS/T_CICLO.SKV", "c:\teste.skv", strUsername, strPassword, False, 5000)

diz que o "caminho" nao pode ser string.. Error 1 Value of type 'String' cannot be converted to 'System.Uri'. C:\Users\rantunes\AppData\Local\Temporary Projects\Trend\Form1.vb 25 42 Trend

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

testei com 1000000 de timeout e continua na mesma.. e o erro dá sempre no mesmo tempo. Seja com 1 ou com 1000000 de timeout...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É um ftp público ou de um ethernet ? Podes dar-me uma password para testar ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é um FTP de um robot de pintura. é interno.. Infelizmente não te consigo dar acesso.. Esse ficheiro contêm os tempos de ciclo do robot. Para analisar os dados preciso desses tempo. Exite um software da http://www.beijerelectronics.com/ que faz o "serviço" mas 500 e tal euros por um programa que lê o ficheiro e o grava na base de dados parece-me exagerado...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É um ftp público ou de um ethernet ? Podes dar-me uma password para testar ?

Antes tenta uma coisa: antivirus ou firewall que tenhas desactiva-os. Podem estar a permitir usar o cuteftp mas não o visual studio.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas falaste qualquer coisa sobre se eu queria descarregar o ficheiro ou lê-lo... Disseste isso por algum motivo em especial?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o paramentro "show.ui" tem de estar a true.. senão dá o tal erro

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes tentar apenas ler o ficheiro sem fazer o download.

Exemplo:

        Dim strUsername As String = "username"
        Dim strPassword As String = "password"

        Dim netCredential As New Net.NetworkCredential
        netCredential.UserName = strUsername
        netCredential.Password = strPassword

        Dim client As New Net.WebClient
        client.Credentials = netCredential

        Dim result As String = client.DownloadString("ftp://192.168.1.226/TRENDS/T_CICLO.SKV")

        netCredential = Nothing
        client.Dispose()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas com esse código não consigo passar os outros parametros..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Deixa lá, vou usar o outro código que me indicaste. Uso um ficheiro temporário. também ninguem morre por isso!

Obrigado! Já me safaste de mais uma!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora