Advertisement
Guest User

Untitled

a guest
May 20th, 2018
2,299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.10 KB | None | 0 0
  1. import requests
  2. from bs4 import BeautifulSoup
  3.  
  4. def generateHeaders(additional=""):
  5.     headers = {
  6.         "Host": "www.netflix.com",
  7.         "User-Agent": "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0",
  8.         "Accept-Language": "en-US,en;q=0.5",
  9.         "Accept-Encoding": "gzip, deflate, br",
  10.         "Connection": "keep-alive",
  11.         "Upgrade-Insecure-Requests": "1",
  12.         "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
  13.     }
  14.     if additional == "":
  15.         return headers
  16.     for k,v in additional.items():
  17.         headers[k] = v
  18.     return headers
  19.  
  20.  
  21.  
  22.  
  23. def getTokens(session):
  24.     headers = generateHeaders({"Referer": "https://www.netflix.com/dk-en/"})
  25.     resp = session.get('https://www.netflix.com/dk-en/login', headers=headers)
  26.     return parseTokens(resp)
  27.  
  28. def parseTokens(resp):
  29.     soup = BeautifulSoup(resp.text, "html.parser")
  30.     flow = soup.find("input", {"name": "flow"})["value"]
  31.     mode = soup.find("input", {"name": "mode"})["value"]
  32.     action = soup.find("input", {"name": "action"})["value"]
  33.     withfields = soup.find("input", {"name": "withFields"})["value"]
  34.     authurl = soup.find("input", {"name": "authURL"})["value"]
  35.     return flow,mode,action,withfields,authurl
  36.  
  37.  
  38.  
  39. def login(session,username,password):
  40.     flow, mode, action, withfields, authurl = getTokens(session)
  41.     headers = generateHeaders({"Referer": "https://www.netflix.com/dk-en/" , "Content-Type": "application/x-www-form-urlencoded"})
  42.     post = {
  43.         "email":username,
  44.         "password":password,
  45.         "rememberMe":"true",
  46.         "flow":flow,
  47.         "mode":mode,
  48.         "action":action,
  49.         "withFields":withfields,
  50.         "authURL":authurl,
  51.         "nextPage":"",
  52.         "showPassword":""
  53.     }
  54.     resp = session.post('https://www.netflix.com/dk-en/login', headers=headers, data=post)
  55.  
  56.     if "browse" in resp.url:
  57.         return True
  58.     return False
  59.  
  60.  
  61. sess = requests.Session()
  62.  
  63. sess = requests.Session()
  64. if login(sess, "fiwag@ginag.com", "fiawnigwan"):
  65.     print("success")
  66. else:
  67.     print("fail")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement