Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.48 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # coding: utf-8
  3. #
  4. # Script Python para enviar el mismo mensaje varias veces al chat de Ikariam.
  5. #
  6. # Para cambiar el mensaje, introducelo entre las comillas en la linea que empieza
  7. # por "TEXTO = ". Si no hay nada entre las comillas, se envia un mensaje vacio.
  8. #
  9. # NO ME HAGO RESPONSABLE DEL USO QUE HAGAS DE ESTE SCRIPT!
  10. # ES POSIBLE QUE INCUMPLAS ALGUNA REGLA DEL JUEGO AL USARLO.
  11. #
  12. #
  13. # DATOS:
  14. #
  15. # Direccion del mundo de Ikariam en el que juegas:
  16. SERVIDOR = "s14.es.ikariam.com"
  17. # Texto que enviar:
  18. TEXTO = ""
  19. # Numero de veces que enviarlo:
  20. NUMERO_MENSAJES = 400
  21.  
  22.  
  23.  
  24. # PETICIONES
  25. LOGIN = "\
  26. GET /index.php?action=loginAvatar&function=login&uni_url=%s&name=%s&password=%s&kid= HTTP/1.1\r\n\
  27. Host: %s\r\n\
  28. \r\n\
  29. "
  30.  
  31. MENSAJE = "\
  32. GET /index.php?action=ChatWindow&function=sendLine&chatline=%s HTTP/1.1\r\n\
  33. Host: %s\r\n\
  34. Cookie: %s\r\n\
  35. \r\n\
  36. "
  37.  
  38.  
  39. import socket, getpass, urllib
  40.  
  41.  
  42. print "----- Envios repetidos al chat de IKARIAM -----"
  43. print "Se va a enviar %s veces '%s'%s" % (NUMERO_MENSAJES, TEXTO, " (nada)" if not TEXTO else "")
  44. print
  45. print "A continuacion introduzca sus datos de acceso a Ikariam:"
  46.  
  47. def pedir(mostrar, defecto):
  48.     texto = raw_input(mostrar)
  49.     if not texto:   return defecto
  50.     else:       return texto
  51.  
  52. usuario = raw_input("Usuario: ")
  53. clave = getpass.getpass("Clave: ")
  54. print "Puede cambiar algunos datos, pulse INTRO sin escribir nada para no cambiarlos"
  55. mensaje = pedir("Mensaje: ", TEXTO)
  56. veces = int(pedir("Numero de veces: ", NUMERO_MENSAJES))
  57.  
  58. print
  59.  
  60. try:
  61.     # OBTENER IP
  62.     print "Obteniendo IP..."
  63.     ip = socket.gethostbyname(SERVIDOR)
  64.     print "IP:", ip
  65.    
  66.     # LOGIN
  67.     print "Conectando..."
  68.     s = socket.socket()
  69.     s.connect((ip, 80))
  70.     print "Iniciando sesion..."
  71.     s.send(LOGIN %  (SERVIDOR, urllib.quote_plus(usuario), urllib.quote_plus(clave), SERVIDOR))
  72.     f = s.makefile()
  73.     print "Buscando cookie..."
  74.     for l in f:
  75.         if l.lower().startswith("set-cookie: ikariam="):
  76.             cookie = l[l.find("ikariam="):l.find(";")] # ID_SESION
  77.             print "Cookie:", cookie
  78.             break
  79.     else:
  80.         raise Exception("Usuario o clave incorrectos?!")
  81.     f.close()
  82.     s.close()
  83.    
  84.     # ENVIO
  85.     print "Enviando mensajes al chat..."
  86.     for i in range(veces):
  87.         s = socket.socket()
  88.         s.connect((ip, 80))
  89.         s.send(MENSAJE % (urllib.quote_plus(mensaje), SERVIDOR, cookie))
  90.         s.close()
  91.         print "Mensaje", i+1
  92.     print "Finalizado! Vuelva a entrar a Ikariam con su navegador"
  93.  
  94. except Exception, error:
  95.     print "ERROR:", error
  96.    
  97. raw_input("<< Pulsa INTRO para salir >>")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement