Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Panarello

[Resolvido] Como fazer carregamento e leitura de paginas web usando Ht

Recommended Posts

Entao pessoal estou tentando fazer um Screen Scrapting de uma pagina web (acho q eh assim q fala)

 

estou usando o WebBrowser da seguinte maneira

 

o que estou tentando fazer e varias consultas em uma determinada pagina que tem um campo cpf e um botao de fazer a consulta (que vou chamar de pagina 1) que por sua vez faz um submit e me volta com o resultado (pagina 2) .

 

Atualmente estou usando o WebBrowser assim , eu tenho uma copia da pagina 1 (alterada aonde ao final do carregamento da pagina ele faz um submit automático ) localmente , faco alteração dela inserindo o cpf de forma sequencial e mando meu

webbrowser abri-la , ai quando ele completa o carregamento eu faco a leitura da pagina e armazeno os dados que eu quero.

 

Porem ele tem um comportamento anormal depois de algumas milhares de interações

Entao vi q poderia usar o HttpWebRequest e HttpWebResponse talvez tivesse algum ganho com eles ao inves de usar toda estrutura do webBrowser

 

 

So que como eu faco esse mesmo processo usando o HttpWebRequest , outra coisa tem como eu faria mandar um post para a pagina 2 com os dados do campo texto (cpf ) da pagina 1 ?

 

Obs: ele não passa o cpf por QueryString não.

 

 

Vlw pela ajuda.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications

 

Não tem a necessidade de mandar pra outra página para você fazer o processamento, no evento do seu botão você pode fazer toda validação necessária.

Se você quiser passar para o outro formulário você pode passar por url ou armazenar em Session.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não pode utilizar session ou view state?

 

Outra solução seria você utilizar multi view em sua página aspx, fazendo assim o trabalho em uma página só, não precisando duplicar as páginas.

 

Flwww, té mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver criei a seguinte classe , e vale resaltar que melhorou 1000% a performance

 

A função que faz a leitura da pagina , voce precisa passar o link da pagina com o Post junto no final.

 

Private Function leituraPaginaSemWebBrowser( ByVal pagina As String)
		Dim myRequest As HttpWebRequest
		Dim WebResp As HttpWebResponse
		Dim Answer As StreamReader
		'Dim newStream As Stream
		Dim retorno As String
		Dim cookie As String

		Try
			myRequest = WebRequest.Create(pagina)
			myRequest.Method = "POST"
			myRequest.ContentType = "application/x-www-form-urlencoded"
			myRequest.AllowAutoRedirect = False
			myRequest.ContentLength = 0		

			WebResp = myRequest.GetResponse()

			Dim headers As WebHeaderCollection = WebResp.Headers

			If (headers("Set-Cookie") <> Nothing) Then
				cookie = headers("Set-Cookie")
			End If
			Answer = New StreamReader(WebResp.GetResponseStream())
			retorno = Answer.ReadToEnd()

			Return retorno

		Catch ex As Exception
			Return "A PAGINA NAO PODE SER CARREGADA"
		Finally
			If Not Answer Is Nothing Then
				Answer.Close()
			End If
		End Try
	End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.