auth.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import requests
  2. import pickle
  3. from html.parser import HTMLParser
  4. from html.entities import name2codepoint
  5. token = 'empty'
  6. def checkLogin():
  7. #f = open('cookies','rb')
  8. sess = requests.session()
  9. #sess.cookies.update(pickle.load(f))
  10. response = sess.get(config['urls']['base_url']'/ucp')
  11. data = response.content
  12. dump = open('dummys/ucp_loggedout.html','w')
  13. dump.write(str(data))
  14. dump.close
  15. def login(user,passw,config):
  16. sess = requests.Session()
  17. #obtain token
  18. response = requests.get(config['urls']['base_url'])
  19. data = response.content
  20. tparse = tokenParser()
  21. tparse.feed(str(data))
  22. global token
  23. token = tparse.token
  24. cookies = response.cookies
  25. #make auth
  26. response = sess.post(config['urls']['base_url']+'/login?' + token + '=1',
  27. data={'username':user,'password':passw,'remember':'1','submit':'login'},
  28. cookies=cookies)
  29. cookies = response.cookies
  30. #print(response.status_code)
  31. #print(response.content)
  32. return sess
  33. #test request
  34. #response = requests.get('https://proxer.me/ucp?s=reminder&utm_source=nav#top',cookies=cookies)
  35. #print(response.content)
  36. class tokenParser(HTMLParser):
  37. token = ''
  38. def handle_starttag(self, tag, attrs):
  39. if tag == 'input' and attrs[2][1] == 'proxerToken':
  40. self.token = attrs[1][1]
  41. print('Token: ',self.token)
  42. class userParser(HTMLParser):
  43. loggedIn = False
  44. username = ''
  45. def handle_starttag(self, tag, attrs):
  46. if tag == 'b' and attrs[0][1] == 'username':
  47. loggedIn = true
  48. #response = requests.get('https://proxer.me/ucp?s=reminder&utm_source=nav#top',cookies=cookies)
  49. #print(response.content)