login.py 831 B

12345678910111213141516171819
  1. import requests
  2. from .cookies import BnetCookieJar
  3. from .errors import LoginFailed
  4. def login(creds):
  5. url = 'https://account.bnet.163.com/battlenet/login?inner_client_id=ow&inner_redirect_uri=http://ow.blizzard.cn/battlenet/login?redirect_url=http://ow.blizzard.cn/career/'
  6. sess = requests.Session()
  7. jar = BnetCookieJar.load_bnet_cookies(creds)
  8. sess.cookies = jar
  9. sess.headers.update({
  10. 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
  11. 'Accept-Language': 'en-CN;q=1, zh-Hans-CN;q=0.9, ja-JP;q=0.8',
  12. 'Accept-Encoding': 'gzip, deflate, br',
  13. })
  14. r = sess.get(url)
  15. if not r.url.startwith('http://ow.blizzard.cn'):
  16. raise LoginFailed
  17. return jar.get('bnet_user_cred'), jar.dump_bnet_cookies()