PageRenderTime 58ms CodeModel.GetById 35ms RepoModel.GetById 1ms app.codeStats 0ms

/sources/vbulletin-y-python.rst

https://bitbucket.org/tzulberti/blog
ReStructuredText | 41 lines | 36 code | 5 blank | 0 comment | 0 complexity | 5056629483f200df3cea17be22de617b MD5 | raw file
  1. vBulletin y Python
  2. ##################
  3. :date: 2009-05-17 21:42
  4. :category: python
  5. :tags: python, vBulletin
  6. El día de hoy (uno de esos dias tan ocupados en mi vida), me las
  7. pase buscando como hacer un script para poder loguearme en
  8. vBulletin (la pagina puntalmente es anime-eden y usa vBulletin para
  9. el tema de logueo). Buscando en google, encontré como usar urllib2
  10. para cuando la pagina necesita de un form para loguearse. El
  11. problema es que vBulletin usa un javascript al momento de hacer un
  12. submit. Ese javascript lo que hace es modificar dos inputs ocultos.
  13. Al principio no me había dado cuenta, que por lo menos para mi
  14. clave los dos valores terminan siendo iguales.... Asique después de
  15. copiar todos los valores de los inputs hidden me quedo algo así:
  16. .. code-block:: python
  17. >>> headers = {'User-agent' :
  18. 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11)
  19. Gecko/20071127 Firefox/2.0.0.11'}
  20. >>> cj = cookielib.LWPCookieJar()
  21. >>> url_login = 'http://forums.anime-eden.com/login.php?do=login'
  22. >>> md5_password = md5.new(password).hexdigest()
  23. >>> data = urllib.urlencode({'vb_login_username': username,
  24. 'vb_login_password': password, 's':'', 'cookieuser':'1',
  25. 'do':'login', 'vb_login_md5password_utf': md5_password,
  26. 'vb_login_md5password': md5_password, 'cookieuser':'1'})
  27. >>> opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
  28. >>> urllib2.install_opener(opener)
  29. >>> request = urllib2.Request(url_login, data, headers)
  30. >>> response = opener.open(request)
  31. Después solamante se tiene que
  32. pedir cualquier url usando el opener, y le va a dar que la pagina
  33. como si estuviese logueado. Básicamente me hice un script para
  34. poder bajarme anime de anime-eden porque ya estaba cansado de ver
  35. anime en castellano de mcanime. Aunque esta segunda, tiene MUCHO
  36. mas anime...