Conectar a um servidor FTP (protocolo SFTP)

27/05/2010

0

Bom dia estou querendo conectar a um servidor de FTP (protocolo SFTP)
Achei alguns componentes pagos que resolveram por hora isso, mas necessito de algo Free ou diretamente no código

Sei que existe uma classe FtpWebRequest, mas não sei como utilizar. Alguém possui algum tutorial (preferencia em português) de como utilizar isso?

Trabalho com VS2008 + WinForms + VB.NET
Fábio Cruz

Fábio Cruz

Responder

Posts

27/05/2010

Fábio Cruz

Consegui resolver com essa função

    Public Function EnviaFTP(ByVal sArquivo As String) As Boolean
        Dim success As Boolean

        'Utilizando o WinSCP para enviar o arquivo
        Dim winscp As Process = New Process
        winscp.StartInfo.FileName = "C:\Arquivos de Programas\WinSCP\winscp.com"
        winscp.StartInfo.Arguments = "/log=" & logName
        winscp.StartInfo.UseShellExecute = False
        winscp.StartInfo.RedirectStandardInput = True
        winscp.StartInfo.RedirectStandardOutput = True
        winscp.StartInfo.CreateNoWindow = True
        winscp.Start()

        winscp.StandardInput.WriteLine("option batch abort")
        winscp.StandardInput.WriteLine("option confirm on")
        winscp.StandardInput.WriteLine("open CrescaBR")
        winscp.StandardInput.WriteLine("ls")
        winscp.StandardInput.WriteLine("put " & sArquivo)
        winscp.StandardInput.Close()

        Dim output As String = winscp.StandardOutput.ReadToEnd()

        winscp.WaitForExit()

        Dim log As XPathDocument = New XPathDocument(logName)
        Dim ns As XmlNamespaceManager = New XmlNamespaceManager(New NameTable())
        ns.AddNamespace("w", "http://winscp.net/schema/session/1.0")
        Dim nav As XPathNavigator = log.CreateNavigator()

        If winscp.ExitCode <> 0 Then
            MessageBox.Show("Erro")

            For Each message As XPathNavigator In nav.Select("//w:message", ns)
                MessageBox.Show(message.Value)
            Next
            success = False
        Else
            success = True
        End If

        Return success

    End Function


É necessário ter instalado o WinSCP no Cliente e Configurado
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar