nov 18 2008

Baixando páginas do orkut em .NET(Código Explicado)

Cada vez o Klay mostrando para gente as maravilhas do .NET, eu ainda vou me interessar por essa linguagem, espera nas férias mulecada, neste código ele loga no orkut e baixa o conteúdo das páginas, e ainda o código tá muito bem explicado mesmo, qualquer um consegue se familiarizar rapidinho.

Dim usuario As String = "usuario"
Dim senha As String = "senha"
 
Using client As New WebClient 
'o bloco USING  é um bloco especial do .net
'ele faz com que ao final da execução o objeto instanciado em sua declaração seja destruido
'isso faz com que os recursos alocados pelo objeto sejam destruidos assim que nós não precisarmos mais dele.
'ah ele também cuida do tratamento de excessoes,
	Dim Response As String = client.DownloadString(String.Format("http://www.google.com/accounts/ClientLogin?Email={0}&Passwd={1}&service=orkut&skipvpage=true", usuario, senha))
'Esta parte	 é bem simples, usei um método nativo da classe WebClient que simplesmente baixa o conteúdo da url informada e retorna uma string com seu conteúdo
'String.Format é apenas uma classe utilitária, ajuda a deixar o código mais légivel, não precisava ter sido colocada lá
'pois ela apenas troca(mas nao se limita apenas a isso) os {n} pelo seus parametros correspondentes
	Response = Regex.Match(Response, "Auth=(?<auth>.+)", RegexOptions.IgnoreCase Or RegexOptions.Multiline).Groups("auth").Value
	'Aqui é como trabalhamos com expressoes regulares no .NET, a principio a sintaxe parece estranha, mas com o tempo se nota as grandes vantagens que temos
	'neste exemplo estou usando o operador ?<nome_personalizado>[expressão regular vem aqui] para obter o auth do usuário, o valor é obtido através da lista Groups, que tem como 
	'indice o nome personalizado o valor do processamento da regexp
	Response = client.DownloadString("http://www.orkut.com.br/RedirLogin.aspx?auth=" & Response)
	'Aqui estou usando o valor do auth que peguei via expressão regular e usando para efetuar o request contra o redirlogin
	client.Headers.Add("cookie", client.ResponseHeaders.Get("Set-Cookie"))
	'o webclient tem uma deficiencia, ele não sabe o que fazer com os headers de resposta, entao o que estou fazendo aqui é adcionando o header
	'set cookie, como sendo o header cookie das minhas próximas requisições (ao contrário da classe httpwebrequest cuida disso para vc automáticamente embora vc tenha mais trabalho com ela)
	Response  client.DownloadString("http://www.orkut.com.br/CommMsgs.aspx?cmm=3537644&tid=5268813343555775157&na=2&nst=21")
	'De posse do cookie novo, faço agora uma requisição direta para a página que desejo acessar
End Using 'quando chega aqui, o .net faz uma limpeza na casa, apagando toda sujeira que foi feita pelo webclient
'usar o using é considerado uma boa prática entre a comunidade .net


1 Comentários:

Trackbacks

  1. Jairo diz:
    O Código parece bom, mas como se usa isso?? Em qual programa eu posso aplicar o código e compilar?? posso usar o VB do Excel?
    Ou posso usar o VB do Programa Small Basic??

    Aguardo Informação.. Parabens pelo blog.

    junho 12th, 2010 às 5:38 pm

DEIXE UM COMENTÁRIO

Subscrever

Subscreve o Blog



Publicidade

Comentários Recentes

  • shirley Balazs: Parabéns!! Informações de utilidade publica e de primeira, foi muito útil a mim.Obrigada!!
  • Jefferson Ferreira de brito: eu quero muito
  • thiago valente: Eu quero um para mim
  • Lucas martins balieiro: Eu não fiz o enem mesmo assim eu posso me inscrever no site essa é minha dúvida, só queme...
  • Francisca Marli Oliveira: quero saber quanto tenho no meu fgts

Links

Leitores Recentes

VALE O CLIQUE!

Site Seguro Ocioso

Divulgue o blog Infomaroto em seu site e tenha seu link ou banner aqui.
Blog Infomaroto