使用webbrowser控件从ftp站点下载csv

时间:2013-11-04 14:39:01

标签: vb.net csv ftp

我有以下代码。

Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Do
    For i As Integer = 0 To Me.WebBrowser1.Document.Links.Count - 1
        If Me.WebBrowser1.Document.Links(i).InnerHtml.StartsWith("APX Power UK RPD historical data") Then
            Dim link As String
            link = Me.WebBrowser1.Document.Links(i).GetAttribute("href")

            WebBrowser2.Navigate(link)
            WebBrowser1.Dispose()

            Exit Do
        End If
    Next
Loop
End Sub

IT在页面上找到一个链接并向其发送一个点击,这会导航到一个ftp站点。enter image description here

我想自动将文件HH_Only_rpd.csv下载到c:/ temp。

我一直在试验webclient,但我遇到了障碍。我可以使用WebBrowser1.Navigate("ftp://ae.rpduser:freedata@ftp.apxgroup.com/HH_ONLY_rpd.csv")直接导航到该文件,但是我得到一个我不想要的另存为对话框,因为我需要将它全部保持沉默,因为我要自动化它。

我正在使用VS 2013.

2 个答案:

答案 0 :(得分:2)

  

我需要一切保持沉默

然后使用FtpWebRequest类,而不是WebBrowser控件。

答案 1 :(得分:0)

经过大量研究后,我使用了一个带有以下代码的控制台应用程序。

Imports System.Net
Module Module1
    Sub Main()
        Try
            Dim wc As New WebClient
            wc.DownloadFile(New Uri("ftp://ae.rpduser:freedata@ftp.apxgroup.com/HH_ONLY_rpd.csv"), "c:\Temp\test.csv")
        Catch ex As Exception
        End Try
    End Sub
End Module