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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Código-Python]Enviando y recibiendo cookies por consola - JaAViEr|0x5d
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Código-Python]Enviando y recibiendo cookies por consola - JaAViEr|0x5d  (Leído 1,914 veces)
0x5d

Desconectado Desconectado

Mensajes: 241



Ver Perfil WWW
[Código-Python]Enviando y recibiendo cookies por consola - JaAViEr|0x5d
« en: 28 Abril 2012, 08:34 am »

Hola, buen día !

Hoy, estuve leyendo acerca de las preciadas cookies, antes de continuar, por si alguien no sabe que son las cookies, consultemos a la ya famosa Wikipedia:
Citar
Los cookies enInformática sirven para:
  • Llevar el control de usuarios: cuando un usuario introduce su nombre de usuario y contraseña, se almacena una cookie para que no tenga que estar introduciéndolas para cada página del servidor. Sin embargo, una cookie no identifica a una persona, sino a una combinación de computador-navegador-usuario.
  • Conseguir información sobre los hábitos de navegación del usuario, e intentos de spyware, por parte de agencias de publicidad y otros. Esto puede causar problemas de privacidad y es una de las razones por la que las cookies tienen sus detractores.
Para la info completa aquí !

Bien, con este tema rápidamente me vinieron a la mente varias ideas para programar con respecto al caso. Me puse manos a la obra y pues por ahora conseguí un humilde programa de 68 líneas (sin reducir nada).

El código lo que hace es enseñarnos 3 opciones:
  • Ver cookies.
  • Enviar cookies.
  • Salir.
Con la primera opción, nos pedirá una URL y nos devolverá las cookies contenidas en dicho sitio, posteriormente nos da la opción de poder almacenarla en un archivo.

Mientras que la segunda opción nos permitirá enviar una o más cookies a algún sitio web(NO ME HAGO RESPONSABLE DEL MAL USO QUE LE PUEDAN DAR), dándonos la opción de guardar la salida del HTML en un archivo local o simplemente mostrarlo en consola.

Si piensan en: Y para que guardarlo ? , podría ser para ver si algún logueo se realiza de forma correcta, si algunos datos varían con cada cookie, etc. A su imaginación lo dejo !

La tercera opción no tiene mucha ciencia, no creo que haya que explicarla jajaja. Bien, sin más preámbulos, el código:
Código
  1. # -*- coding: utf-8 -*-
  2. #Autor: JaAViEr|0x5d
  3. #Web: http://www.rootcodes.com
  4. #Twitter: @0x5d
  5.  
  6. import urllib2, re, sys
  7.  
  8. while True:
  9. print"""
  10. ¡ Obtén o envía cookies desde Python !
  11.  
  12. 1.- Ver cookies.
  13. 2.- Enviar cookies.
  14. 3.- Salir.
  15. """
  16. try:
  17. opc = input("Opción ::> ")
  18. if opc in range(1,4):
  19. if opc == 3:
  20. break
  21. elif opc==1:
  22. try:
  23. url = raw_input("URL :: > http://")
  24. headers = urllib2.urlopen("http://%s"%url).info()
  25. cookie = re.findall("Set-Cookie:(.*)",str(headers))[0]
  26. if cookie:
  27. print "Cookie obtenida:\n", cookie
  28. save_q = raw_input("Guardar la cookie en un archivo?(TXT) (s/n) ::>").lower()
  29. if save_q=="s":
  30. try:
  31. archivo = open("%s.txt"%raw_input("Archivo : "),"w")
  32. archivo.write(str(cookie))
  33. archivo.close()
  34. print "Archivo guardado con éxito!"
  35. except:
  36. print "No se pudo guardar el archivo..."
  37. else:
  38. print "No se obtuvo cookies..."
  39. except:
  40. print "No se pudo conectar"
  41. elif opc==2:
  42. print "Recuerda separar cada cookie con un punto y coma (;) !"
  43. try:
  44. url = raw_input("URL :: > http://")
  45. cookie_tosend = raw_input("Cookies: ")
  46. save_cookies = urllib2.build_opener()
  47. save_cookies.addheaders.append(('Cookie', cookie_tosend))
  48. abrir_web = save_cookies.open("http://%s"%url)
  49. try:
  50. q_show = raw_input("Desea volcar el html en un archivo?(HTML) (s/n) ::> ")
  51. if q_show=="s":
  52. try:
  53. save_output = open("%s.html"%raw_input("Archivo de salida(sin .html):"),"w")
  54. save_output.write(abrir_web.read())
  55. save_output.close()
  56. print "Archivo guardado con éxito !"
  57. except:
  58. print "No se pudo guardar el archivo..."
  59. else:
  60. print abrir_web.read()
  61. except:
  62. print "Ocurrió un problema inesperado..."
  63. except:
  64. print "Error inesperado..."
  65. else:
  66. print "No existe dicha opcion"
  67. except:
  68. print "Por favor ingresa un número"
Hice el código lo más ordenado posible, manejando controles de error para todo, evitando un código desastroso (:

Pueden hacer la prueba del programa con esta url : Prueba Cookies

Envíen desde el programa, la cookie "name=Javier" y vean el resultado :D

Y como siempre... Espero sea de su agrado el código !

Fuente: http://rootcodes.com/pythonenviando-y-recibiendo-cookies-jaavier0x5d/

Saludos, Javier.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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