Ir para conteúdo

POWERED BY:

Arquivado

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

Zébástian

Session e XMLHTTP

Recommended Posts

Olá elementos...

 

Estou c/ 1 pequeno problema que p/ vocês é muito simples de resolver...

 

Estou precisando acessar uma página que se encontra na área restrita de um site e o mesmo trabalha com SESSION (eu acho).

Pergunta: Como eu faço para estar resgatando e/ou passando valores de session via XMLHTTP??? Se eu tento acessar após o code abaixo, (dentro de um IF XMLHTTP.READYSTATE=4), me aparece uma mensagem de "erro de sessão expirada"

Por exemplo:

set xmlhttp=server.CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "POST", "https://www.siteexterno.com.br/adm/EntrarLogin.do?login=user&senha=pass"
xmlhttp.send 
if xmlhttp.ReadyState=4 then
 xmlhttp.open "GET", "https://www.siteexterno.com.br/adm/index.do"
 xmlhttp.send 
 ...
end if
OBS.: Este site usa SSL sim!

Consegui ser claro na minha dúvida???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não tem acesso a SESSION através destes componentes. O retorno deles é apenas a HTML.

 

Lembre-se que quando você utiliza esse componente para acessar um site, quem está acessando é o seu servidor, logo a SESSÃO é diferente da sua, como IP, etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso Então significa q eu me lasquei... <_<

Agora só me resta chorar até eu pensar em algo que funfe... Por 1 acaso, você não teria alguma alternativa boa p/ mim?? rs

 

Vlw por enquanto

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que falta uma coisinha pra autenticar. veja como eu faço e sempre funcionou em http, não sei se em https vai funcionar. mas recurar session de outro servidor não vai rolar, lembre-se que o xmlhttp vai te devolver a resposta do servidor e não sua execução:

	DataToSend = "login=user&senha=pass"

	set xmlhttp = Server.CreateObject("MSXML2.XMLHTTP.3.0")
	
	xmlhttp.Open "POST", "https://www.siteexterno.com.br/adm/EntrarLogin.do", False
	
	xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
	xmlhttp.send DataToSend
	
	Set xmlhttp = nothing
	
	Response.Redirect "item.asp"
depois na página item.asp

set xmlhttp = Server.CreateObject("MSXML2.XMLHTTP.3.0")
xmlhttp.Open "POST", "https://www.siteexterno.com.br/adm/index.do", False
xmlhttp.send

Response.ContentType = "text/html"

resposta = BinaryToString(xmlhttp.responseBody)

response.write resposta

Set xmlhttp = Nothing

Public Function BinaryToString(xBinary)
	Dim Binary
	Dim RS, LBinary
	If VarType(xBinary)=8 Then Binary = MultiByteToBinary(xBinary) Else Binary = xBinary
	Const adLongVarChar = 201
	Set RS = CreateObject("ADODB.Recordset")
	LBinary = LenB(Binary)
	If LBinary>0 Then
		RS.Fields.Append "mBinary", adLongVarChar, LBinary
		RS.Open
		RS.AddNew
		RS("mBinary").AppendChunk Binary 
		RS.Update
		BinaryToString = RS("mBinary")
	Else
		BinaryToString = ""
	End If
	Set RS = Nothing
End Function

Public Function MultiByteToBinary(MultiByte)
	Dim RS, LMultiByte, Binary
	Const adLongVarBinary = 205
	Set RS = CreateObject("ADODB.Recordset")
	LMultiByte = LenB(MultiByte)
	If LMultiByte>0 Then
		RS.Fields.Append "mBinary", adLongVarBinary, LMultiByte
		RS.Open
		RS.AddNew
		RS("mBinary").AppendChunk MultiByte & ChrB(0)
		RS.Update
		Binary = RS("mBinary").GetChunk(LMultiByte)
	End If
	Set RS = Nothing
	MultiByteToBinary = Binary
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.