Advertisement
Guest User

login API script

a guest
Feb 12th, 2016
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.54 KB | None | 0 0
  1. import http.client
  2. from urllib.parse import quote
  3. from getpass import getpass
  4. import json
  5.  
  6. sock = http.client.HTTPConnection('community.wikia.com')
  7.  
  8. user = quote(input('Username: '))
  9. password = quote(getpass('Password: '))
  10.  
  11. sock.request(
  12.         'POST',
  13.         '/api.php',
  14.         'action=login&lgname=' + user + '&lgpassword=' + password + '&format=json',
  15.         {'Connection': 'Keep alive', 'Content-Type': 'application/x-www-form-urlencoded'}
  16. )
  17. response = sock.getresponse()
  18. session = response.getheader('Set-Cookie')
  19. print('\nSet-Cookie contains:', session)
  20. session = session[:session.find(';')]
  21. print('\nUsing:', session)
  22. token = quote(json.loads(response.read().decode('utf-8'))['login']['token'])
  23. sock.request(
  24.         'POST',
  25.         '/api.php',
  26.         'action=login&lgname=' + user +'&lgpassword=' + password + '&lgtoken=' + token + '&format=json',
  27.         {'Connection': 'Keep alive', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie': session}
  28. )
  29. result = json.loads(sock.getresponse().read().decode('utf-8'))
  30. print('\nLogin response:', result)
  31.  
  32. sock.request(
  33.         'GET',
  34.         '/api.php?action=query&meta=userinfo&format=json',
  35.         '',
  36.         {'Connection': 'Keep alive', 'Cookie': session},
  37. )
  38. result = json.loads(sock.getresponse().read().decode('utf-8'))
  39. print('\nmeta=userinfo:', result)
  40.  
  41. sock.request('GET', '/api.php?action=logout&format=json', '', {'Connection': 'close', 'Cookie': session})
  42. result = json.loads(sock.getresponse().read().decode('utf-8'))
  43. print('\nLogout:', result)
  44. sock.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement