VB.NET - 从网页下载文件

时间:2016-01-13 21:01:42

标签: vb.net

我正在尝试从http://Kodi.tv/download下载适用于Android的最新Kodi ARM版本,并将其保存到我计算机上的预先存在的文件夹中。我只想点击一个按钮,它会将该文件下载到它需要的位置。我正在使用的当前代码是打开IE浏览器并进行对话;

  

打开,保存,另存为..

以下是我正在使用的当前代码:

For Each Element As HtmlElement In WebBrowser1.document.GetElementsByTagName("a")
        If Element.OuterHtml.Contains("ARM") Then
            Element.InvokeMember("click")
           End If
    Next

这是抓取我在表单上的Webbrowser按钮并单击它。我也不能使用静态链接,因为我想获得最新的更新[链接更改]。

如何从网页下载我需要的项目到没有对话的预先指定的文件夹?

2 个答案:

答案 0 :(得分:0)

尝试查看.NET WebClient类。它有非常方便的方法,如DownloadFile,可以下载URL和保存位置。

由于网址不断变化,您可能仍需要使用网络浏览器来确定当前网址的内容。完成此操作后,您可以丢弃Web浏览器并将URL传递给DownloadFile。甚至还有监控下载进度和完成情况的事件DownloadProgressChangedDownloadFileCompleted。如果您打算使用这些,请确保使用异步版本DownloadFileAsync

答案 1 :(得分:0)

我在网上找到了这个代码并且效果很好所以我想我会分享它!

 Dim Address As String = String.Empty
    Dim filename As String = String.Empty
    Try
        Dim fileReader As New WebClient()
        Address = " *Link* "
        filename = " *Filename of what you want to save as* "
        If Not (System.IO.File.Exists(" *Download Location* " + filename)) Then
            fileReader.DownloadFile(Address, " *Download Location* " + filename)
        End If
    Catch ex As HttpListenerException
        Console.WriteLine("Error accessing " + Address + " - " + ex.Message)
    Catch ex As Exception
        Console.WriteLine("Error accessing " + Address + " - " + ex.Message)
    End Try
    MsgBox("Done")
End Sub

在此处找到:Here