O problema é que ?;JSESSIONID=07de6532326e47fa8a63fbeb7ffa7907? que representa a sessão não aparece na url, somente o http://www.xxx.com.br/xxx.jsp que aparece.
Gostaria de saber se alguém conhece alguma forma (classe ou método) para capturar está sessão passando como parâmetro a url ?http://www.xxx.com.br/xxx.jsp? e retornando o id da session.
JSESSIONID é um cookie. Você pode recuperar todos os cookies através da request, request.getCookies();
C
camillabrasiliaPJ
Eu não posso usar request.getCookies(), pois eu tenho que passar uma url como parâmetro.
Observação: Está url é de um site que estou acessando “http://xxx.com.br” e não uma página que eu criei, pois se eu tivesse acesso (criado) está página eu usária o getId().
Me ajudem, como faço para solucionar este problema.
H
hipersoftPJ
O mecanismo de sessão normalmente é mantido através dos cookies. Quando um servidor quer manter sessões mesmo quando o navegador está com a aceitação de cookies bloqueada, então, para todo url passado nas páginas HTML, ele deve codificar o session ID nas urls. Os métodos encodeURL() e encodeRedirectURL() da classe javax.servlet.http.HttpServletResponse fazem justamente isso. A decodificação do session ID é feita transparentemente. Em consequência, um site bem feito deve usar uma única página HTML estática e daí em diante usar páginas trabalhadas pelo servidor com os url’s adequadamente codificados.
No seu caso, pelo que entendi, você está simulando um navegador dentro do seu programa. Neste caso, você deve recuperar os cookies enviados pelo servidor-alvo através do cabeçalho http chamada ‘Set-Cookie’.
C
camillabrasiliaPJ
“hipersoft”:
No seu caso, pelo que entendi, você está simulando um navegador dentro do seu programa. Neste caso, você deve recuperar os cookies enviados pelo servidor-alvo através do cabeçalho http chamada ‘Set-Cookie’.
Você poderia mostrar como fazer isso? Poderia me mostrar um código?