elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] Utilizando autenticación y cookies [RESUELTO]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Utilizando autenticación y cookies [RESUELTO]  (Leído 3,484 veces)
MA40

Desconectado Desconectado

Mensajes: 252


--- I ❤ Ƀ ---


Ver Perfil WWW
[Python] Utilizando autenticación y cookies [RESUELTO]
« en: 18 Septiembre 2016, 20:08 pm »

Hola.

Estoy aprendiendo a programar cookies en Python para que un usuario pueda autenticarse y mantenerse logueado e incluso pueda loguearse automáticamente en sesiones posteriores.

Una información interesante que he encontrado es ésta: http://crysol.org/es/node/1361

El problema es que utiliza módulos no estándares que mi proveedor de hosting no tiene instalados en su equipo.

¿Hay alguna forma de utilizar cookies con los módulos estándares de Python?

Un saludo.


« Última modificación: 20 Septiembre 2016, 18:43 pm por MA40 » En línea

¿Qué sucedería si se enfrentara una fuerza imparable contra un muro inamovible?
Visita Ediciones MA40 - Libros clásicos de ajedrez y este blog de ajedrez
ChessFaucet.com - Gana bitcoins jugando al ajedrez contra el ordenador
Poyoncio

Desconectado Desconectado

Mensajes: 220



Ver Perfil WWW
Re: [Python] Utilizando autenticación y cookies
« Respuesta #1 en: 18 Septiembre 2016, 20:46 pm »

Busca información a cerca de urllib2 o urrlib3, te dejo unos enlaces para usar cookies:
http://stackoverflow.com/questions/3334809/python-urllib2-how-to-send-cookie-with-urlopen-request
http://stackoverflow.com/questions/2422922/python-urllib3-and-how-to-handle-cookie-support


Eso si, te recomiendo que uses la libreria no estandar "requests", ya que es una magnifica api, no encontraras una mejor, muy simplificada, util y estable.

Aqui ademas te dejo un codigo en requests:
Código
  1. import requests
  2. peticion = requests.get(url, cookies={'algo':'valor'})
  3. print(peticion.content)


En línea

Curso de ensamblador desde cero
MA40

Desconectado Desconectado

Mensajes: 252


--- I ❤ Ƀ ---


Ver Perfil WWW
Re: [Python] Utilizando autenticación y cookies
« Respuesta #2 en: 19 Septiembre 2016, 00:26 am »

Hola de nuevo.

Muchas gracias Poyoncio, mi problema con el módulo requests es que no lo tiene instalado mi proveedor de hosting, y no va a hacerlo aunque se lo pida.

He encontrado estas direcciones que explican de una forma sencilla cómo hacer lo que quiero, utilizando el módulo Cookie que sí lo tiene instalado mi proveedor.

http://raspberrywebserver.com/cgiscripting/using-python-to-set-retreive-and-clear-cookies.html

https://docs.python.org/2/library/cookie.html

He creado el siguiente script en Python con el nombre “enviando_cookie.py” y lo he subido a mi sitio:

Código
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3.  
  4. print "Content-type: text/html\n\n"
  5. import Cookie
  6.  
  7. C = Cookie.SimpleCookie()
  8. C['nombre_de_la_cookie'] = 'valor_de_la_cookie'
  9. C['nombre_de_la_cookie']['expires'] = 1*1*1*5*60
  10.  
  11. print C

Si alguien quiere probarlo, puede hacerlo en la siguiente dirección: ***** PROBLEMA RESUELTO - ENLACE ELIMINADO *****

Se supone que debería enviar una cookie al ordenador del cliente con un tiempo de expiración de 5 minutos.

Aparentemente funciona pues se imprime el valor de la cookie en la pantalla, pero luego si intentas leerla o si la buscas con las opciones de tu navegador, no se encuentra, o sea que no se descarga.

¿Sabéis a que puede ser debido?

Un saludo.
« Última modificación: 20 Septiembre 2016, 19:48 pm por MA40 » En línea

¿Qué sucedería si se enfrentara una fuerza imparable contra un muro inamovible?
Visita Ediciones MA40 - Libros clásicos de ajedrez y este blog de ajedrez
ChessFaucet.com - Gana bitcoins jugando al ajedrez contra el ordenador
Poyoncio

Desconectado Desconectado

Mensajes: 220



Ver Perfil WWW
Re: [Python] Utilizando autenticación y cookies
« Respuesta #3 en: 19 Septiembre 2016, 17:02 pm »

Si por eso puse, no estandar, era solo para que lo tuvieras en cuenta para un futuro :P


Desconozco realmente la totalidad de tu pequeño proyecto pero te aconsejo que uses urrlib2 o urrib3 ya que puedes realizar mas cosas, si te va bien ya ese usa ese (te lo digo como consejo en grandes proyectos).
Respecto a tu script ami me imprime "valor_de_la_coockie" nose si ese es la coockie realmente o si es que hay que modificar algo
Saludos
En línea

Curso de ensamblador desde cero
MA40

Desconectado Desconectado

Mensajes: 252


--- I ❤ Ƀ ---


Ver Perfil WWW
Re: [Python] Utilizando autenticación y cookies
« Respuesta #4 en: 19 Septiembre 2016, 17:48 pm »

...
Respecto a tu script ami me imprime "valor_de_la_coockie"…
...

Sí, ése es el valor de la cookie, el problema es que aunque se imprime por pantalla, no se queda guardada en el ordenador del cliente, (algo no funciona en el script).

Intentaré solucionarlo con este módulo (Cookie) y si no lo consigo, empezaré a estudiar los módulos que tú me recomiendas. (¿Qué podrá ser lo que no funciona en este script?) :-\

Muchas gracias Poyoncio.

Un saludo.
« Última modificación: 19 Septiembre 2016, 17:51 pm por MA40 » En línea

¿Qué sucedería si se enfrentara una fuerza imparable contra un muro inamovible?
Visita Ediciones MA40 - Libros clásicos de ajedrez y este blog de ajedrez
ChessFaucet.com - Gana bitcoins jugando al ajedrez contra el ordenador
MA40

Desconectado Desconectado

Mensajes: 252


--- I ❤ Ƀ ---


Ver Perfil WWW
Re: [Python] Utilizando autenticación y cookies
« Respuesta #5 en: 20 Septiembre 2016, 18:41 pm »

Hola de nuevo.

Ya he resuelto el problema. Lo dejo aquí por si puede servir de ayuda a alguien.

En realidad no sé a qué puede ser debido, pero si el código que he puesto en mi tercer post, se sustituye por el que pongo a continuación, la cookie se envía correctamente.

Código
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import Cookie
  5.  
  6. C = Cookie.SimpleCookie()
  7. C['nombre_de_la_cookie'] = 'valor_de_la_cookie'
  8. C['nombre_de_la_cookie']['expires'] = 1*1*1*5*60
  9.  
  10. print C
  11.  
  12. print "Content-type: text/html\n\n"
  13.  
  14. print C

Un saludo.
En línea

¿Qué sucedería si se enfrentara una fuerza imparable contra un muro inamovible?
Visita Ediciones MA40 - Libros clásicos de ajedrez y este blog de ajedrez
ChessFaucet.com - Gana bitcoins jugando al ajedrez contra el ordenador
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines