VB.NET - Fazendo o download de páginas via HTTP

Fazer download de uma página na web com o VB.NET é muito simples.

Existem diversas formas de fazer esta operação . Neste artigo vou mostrar uma delas . Bem simples por sinal.

Vou criar uma a classe chamada DownloadURL que terá duas funções : 

Estaremos usando a classe WebRequest para fazer o download do conteúdo da página. Esta classe utiliza o protocolo HTTP para fazer o download do conteúdo.

Usarei o método Create da classe WebRequest para criar um objeto WebRequest passando a URL como parâmetro.

Depois é só chamar os métodos :

Crie um novo projeto no VS .NET do tipo Windows Application e no formulário padrão insira os seguintes componentes:

No menu Project selecione a opção Add Class dando o seguinte nome a este arquivo: DownloadURL.vb . Agora insira o seguinte código no arquivo:

Imports System
Imports System.Text
Imports System.IO
Imports System.Net

Public Class DownloadURL

    Private m_strURL As String

    Public Sub defineURL1(ByVal strURL As String)
        m_strURL = strURL
    End Sub
    Public Sub downloadURL(ByRef strConteudo As String)

        Dim req As WebRequest = WebRequest.Create(m_strURL)
        Dim res As WebResponse = req.GetResponse()
        Dim iTotalBuffer As Integer = 0
        Dim Buffer(128) As [Byte]
        Dim stream As Stream = res.GetResponseStream()

        iTotalBuffer = stream.Read(Buffer, 0, 128)
        Dim strRes As New StringBuilder("")

        While iTotalBuffer <> 0
            strRes.Append(Encoding.ASCII.GetString(Buffer, 0, iTotalBuffer))
            iTotalBuffer = stream.Read(Buffer, 0, 128)
        End While

        strConteudo = strRes.ToString()

    End Sub
End Class

 

Nota: Estou usando a classe StringBuilder(). Para saber mais leia - StringBuilder : tratando Strings de modo mais eficiente.

Para testar a classe acima no formulário padrão - form1.vb - insira no evento click do botão de comando - cmdDownalod - o seguinte código:

Private Sub cmdDownload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdDownload.Click


Dim
strOut As
String

Dim web As New DownloadURL()
 

web.defineURL1(txtURL.Text)

web.downloadURL(strOut)

txtPagina.Text = strOut

End Sub

Rode o projeto , informe uma url e clique no botão para fazer o download. Veja o resultado exibido na figura abaixo:

 Por hoje é só , aguarde mais artigos VB.NET...

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti