Problema com Apache HttpClient + ASP.NET

4 respostas
A

Olá,

Estou fazendo um sistema que acessa uma página aspx. O problema que estou tendo á para acessar uma lista pagina. Já tentei de tudo mas não consigo alterar a página da lista (açao feita pelo botao PROXIMO existente na pagina). Quando envio o post usando o httpclient, o site me retorna sempre a mesma pagina e ainda sem alguns dados.

Usando um sniffer verifiquei que o POST enviado pelo navegador esta diferente do que estou enviando. Ele possui tres campos a mais que, acho, devem ser criados dinamicamente quando o botao PROXIMO é clicado.

Tentei depurar a execucao do javascript que esta no onCLick do botao PROXIMO com o firebug, mas nao encontrei nenhum codigo que altere o formulario.
Estou investigando agora um campo do post chamado __VIEWSTATE que pelo que li ate agora é usado em asp.net para controle de paginacao, mas ainda nao tive nenhum sucesso.

Alguem já passou por este tipo de situacao e tem uma ideia do que devo fazer? Ou entao conhece alguma ferramenta melhor para depurar o javascript e monitorar como o POSt esta sendo criado?

Valeu!

4 Respostas

T

http://www.techtips.com.br/programacao/delphi/aspnet/entendendo-o-viewstate-em-aspnet/

O Viewstate, na verdade, é um campo que serve para guardar a sessão do ASP.NET no cliente (em vez de guardá-la em uma variável Session, como é feito em uma página JSP). Portanto toda vez que você recebe uma página do ASP.NET deve guardar esse valor que está no VIEWSTATE, e depois quando for efetuar o POST de alguma coisa deve mandar esse campo tal como está.

T

É óbvio que se você pudesse acessar o sistema no IIS através de um web service, em vez de ficar puxando as coisas de uma página ASP.NET, você teria menos problemas cabeludos. Mas a gente tem que se virar com o que tem, se não puder mudar as coisas.

A

O que estou achando é que o campo __VIEWSTATE está guardando alguma informacao a respeito da paginação.

Já viu alguma situação em que isto ocorre?

T

Se você leu o link que lhe passei, ele serve para guardar um monte de coisas; provavelmente guarda a paginação também. Alguém deve ter uma ferramenta que converte a versão especial de Base-64 do VIEWSTATE para uma forma legível (note, esse Base-64 não é criptografado). Você pode acabar descobrindo que realmente há um monte de informação interessante.

Criado 23 de março de 2009
Ultima resposta 24 de mar. de 2009
Respostas 4
Participantes 2