Foros del Web » Programación para mayores de 30 ;) » .NET »

Manejar sesiones en sitio web C#

Estas en el tema de Manejar sesiones en sitio web C# en el foro de .NET en Foros del Web. Hola, pues como dice el título... alguien me puede ayudar para manejar las sesiones que puede haber en una página web? Algún manual o que ...
  #1 (permalink)  
Antiguo 15/07/2008, 03:44
 
Fecha de Ingreso: mayo-2008
Mensajes: 10
Antigüedad: 16 años
Puntos: 0
Manejar sesiones en sitio web C#

Hola, pues como dice el título... alguien me puede ayudar para manejar las sesiones que puede haber en una página web? Algún manual o que me lo explique, esque por mas que busco no encuentro nada

Gracias!
  #2 (permalink)  
Antiguo 15/07/2008, 06:21
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Manejar sesiones en sitio web C#

PRegunta

1.- Quieres iniciar sesion (loggearte) en un sitio web y como hacerlo
2.- quieres saber como manejar sesiones en aplicaciones web.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 15/07/2008, 07:57
 
Fecha de Ingreso: mayo-2008
Mensajes: 10
Antigüedad: 16 años
Puntos: 0
Respuesta: Manejar sesiones en sitio web C#

Sí, se me olvido, losiento.

Cita:
1.- Quieres iniciar sesion (loggearte) en un sitio web y como hacerlo
Eso mismo quiero hacer, loguearme para luego utilizar mi sesión para postear por ejemplo.

Gracias!
  #4 (permalink)  
Antiguo 15/07/2008, 09:10
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Manejar sesiones en sitio web C#

Pues para hacer eso puedes utilizar objetos de HttpWebRequest y WebResponse.

1.- Recomiendo leer el libro de HTTP Essentials Stephen Thomas Protocols for Secure, Scaleable Web Sites

2.- Despues de saber como un funciona un post y un get, como funcionan las cookies. Con los objetos que mencione primero tienes muchisimas funciones y formas de pasar datos a formularios.

3.- Revisar otras tecnologias que pueden hacer complicado tu trabajo ajax, captchas y demas.

Hacer un bot no es simple ahora por tantos mecanismos anti-bots pero si que es divertido.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 15/07/2008, 14:06
 
Fecha de Ingreso: mayo-2008
Mensajes: 10
Antigüedad: 16 años
Puntos: 0
Respuesta: Manejar sesiones en sitio web C#

Vale, gracias. Si alguien tiene alguna información adicional se agradecería que la posteara ;)
  #6 (permalink)  
Antiguo 15/07/2008, 14:16
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Manejar sesiones en sitio web C#

Tengo muchos samples pero el detalle es q comprendas el concept de la peticion e incluso si puedes ir desde sockets haciendo eso.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #7 (permalink)  
Antiguo 15/07/2008, 17:06
 
Fecha de Ingreso: mayo-2008
Mensajes: 10
Antigüedad: 16 años
Puntos: 0
Respuesta: Manejar sesiones en sitio web C#

El concepto lo tengo mas que aprendido... aparte que el sistema al ser un protocolo no varia de lenguajes y C# no es el primero xD Se te agradecería esos samples que dices

Gracias de antemano!! ;)
  #8 (permalink)  
Antiguo 15/07/2008, 17:27
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Manejar sesiones en sitio web C#

HttpWebRequest request;
HttpWebResponse response;
CookieContainer cookies;

#region Login Request;

string url = "https://www.tupaginadelogin.com/";
string data = string.Format("campo1={0}&campor2={1}&algunboton=s ubmit", email, password);
byte[] encodeddata = Encoding.ASCII.GetBytes(data);
request = (HttpWebRequest)WebRequest.Create(url);
request.AllowAutoRedirect = false;
request.CookieContainer = new CookieContainer();
request.Method = "POST";
request.ContentType = "multipart/xxx-encode"; // este es importante porq depende como codifiques tus datos a enviar.
request.ContentLength = encodeddata.Length;
Stream datawriter = request.GetRequestStream();

datawriter.Write(encodeddata, 0, encodeddata.Length);
datawriter.Close();

response = null;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (Exception ex)
{
return ex.Message;
}

if (response.StatusCode != HttpStatusCode.Found)
{
Console.WriteLine("Server Unreachable");
response.Close();
request.KeepAlive = false;
return string.Empty;
}


response.Cookies //tiene todas las cookies resultantes
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #9 (permalink)  
Antiguo 16/07/2008, 18:05
 
Fecha de Ingreso: mayo-2008
Mensajes: 10
Antigüedad: 16 años
Puntos: 0
Respuesta: Manejar sesiones en sitio web C#

Vale, muchas gracias ahora lo probaré y veré que tal me ha ido. ;)
  #10 (permalink)  
Antiguo 16/07/2008, 18:32
 
Fecha de Ingreso: mayo-2008
Mensajes: 10
Antigüedad: 16 años
Puntos: 0
Respuesta: Manejar sesiones en sitio web C#

Vale, se supone que ahora ahí tengo TODO lo que yo necesito para navegar por ese servidor logueado... ahora como indico que use esas cookies en cada peticion get o post?
  #11 (permalink)  
Antiguo 16/07/2008, 20:49
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Manejar sesiones en sitio web C#

CookieContainer miscookies=new CookieContainer();

miscookies.Add(response.Cookies);

entre cada peticion al request le asignas el CookieContainer a request.CookieContainer y agregas al mismo las cookies cmo lo explique en esas dos lines del response.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #12 (permalink)  
Antiguo 17/07/2008, 05:52
 
Fecha de Ingreso: mayo-2008
Mensajes: 10
Antigüedad: 16 años
Puntos: 0
Respuesta: Manejar sesiones en sitio web C#

Puede ser que el server requiera algo mas que cookies? Porque en la segunda petición pongo:

Código:
            request2.CookieContainer = miscookies;
Habiendo puesto ya en la primera petición:

Código:
miscookies.Add(response.Cookies);
Y lo que obtengo del servidor al hacer el post es "Server Unreachable" y si leo el stream que me envia me dice que mi sesión ha expirado :/

Tengo algo mal en el code o el servidor pude pedir algo mas que cookies?

Gracias de antemano!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:05.