def login(self, user, data, req): if not self.HOSTER_URL: #@TODO: Remove in 0.4.10 raise Exception(_("Missing HOSTER_DOMAIN")) if not self.LOGIN_URL: self.LOGIN_URL = urlparse.urljoin(self.HOSTER_URL, "login.html") html = req.load(self.LOGIN_URL, decode=True) action, inputs = parseHtmlForm('name="FL"', html) if not inputs: inputs = {'op' : "login", 'redirect': self.HOSTER_URL} inputs.update({'login' : user, 'password': data['password']}) if action: url = urlparse.urljoin("http://", action) else: url = self.HOSTER_URL html = req.load(url, post=inputs, decode=True) if re.search(self.LOGIN_FAIL_PATTERN, html): self.wrongPassword()
def login(self, user, data, req): html = req.load("http://www.easybytez.com/login.html", decode=True) action, inputs = parseHtmlForm('name="FL"', html) inputs.update({"login": user, "password": data["password"], "redirect": "http://www.easybytez.com/"}) html = req.load(action, post=inputs, decode=True) if "Incorrect Login or Password" in html or ">Error<" in html: self.wrongPassword()
def login(self, user, data, req): html = req.load('%slogin.html' % self.MAIN_PAGE, decode=True) action, inputs = parseHtmlForm('name="FL"', html) if not inputs: inputs = {"op": "login", "redirect": self.MAIN_PAGE} inputs.update({"login": user, "password": data['password']}) html = req.load(self.MAIN_PAGE, post=inputs, decode=True) if 'Incorrect Login or Password' in html or '>Error<' in html: self.wrongPassword()
def login(self, user, data, req): html = req.load("%slogin.html" % self.MAIN_PAGE, decode=True) action, inputs = parseHtmlForm('name="FL"', html) if not inputs: inputs = {"op": "login", "redirect": self.MAIN_PAGE} inputs.update({"login": user, "password": data["password"]}) html = req.load(self.MAIN_PAGE, post=inputs, decode=True) if "Incorrect Login or Password" in html or ">Error<" in html: self.wrongPassword()
def login(self, user, data, req): html = req.load('http://www.easybytez.com/login.html', decode=True) action, inputs = parseHtmlForm('name="FL"', html) inputs.update({ "login": user, "password": data['password'], "redirect": "http://www.easybytez.com/" }) html = req.load(action, post=inputs, decode=True) if 'Incorrect Login or Password' in html or '>Error<' in html: self.wrongPassword()
def login(self, user, data, req): html = req.load('%slogin.html' % self.MAIN_PAGE, decode=True) action, inputs = parseHtmlForm('name="FL"', html) if not inputs: inputs = {"op": "login", "redirect": self.MAIN_PAGE} inputs.update({"login": user, "password": data['password']}) html = req.load(self.MAIN_PAGE, post=inputs, decode=True) if re.search(self.LOGIN_FAIL_PATTERN, html): self.wrongPassword()
def login(self, user, data, req): html = req.load(self.MAIN_PAGE + 'login.html', decode=True) action, inputs = parseHtmlForm('name="FL"', html) if not inputs: inputs = {"op": "login", "redirect": self.MAIN_PAGE} inputs.update({"login": user, "password": data['password']}) # Without this a 403 Forbidden is returned req.http.lastURL = self.MAIN_PAGE + 'login.html' html = req.load(self.MAIN_PAGE, post=inputs, decode=True) if 'Incorrect Login or Password' in html or '>Error<' in html: self.wrongPassword()
def handleFree(self): self.html = self.load(self.pyfile.url) #get wait time found = re.search('\s*var\sdownloadWait\s=\s(\d+);', self.html) self.setWait(int(found.group(1)) if found else 30) #parse download form action, inputs = parseHtmlForm('id="download', self.html) #solve captcha found = re.search('recaptcha/api/(?:challenge|noscript)?k=(.+?)', self.html) captcha_key = found.group( 1) if found else "6LdEFb0SAAAAAAwM70vnYo2AkiVkCx-xmfniatHz" recaptcha = ReCaptcha(self) inputs['recaptcha_challenge_field'], inputs[ 'recaptcha_response_field'] = recaptcha.challenge(captcha_key) self.wait() #validate self.req.http.c.setopt(FOLLOWLOCATION, 0) self.html = self.load(action, post=inputs) found = re.search(r"Location\s*:\s*(\S*)", self.req.http.header, re.I) if found: self.correctCaptcha() download_url = found.group(1) else: if "Sicherheitscode falsch" in self.html: self.invalidCaptcha() self.retry(max_tries=5, reason="Invalid captcha") else: self.fail("Invalid session") #download self.req.http.c.setopt(FOLLOWLOCATION, 1) self.download(download_url) check = self.checkDownload( {"ip_blocked": re.compile(r'<div class="error".*IP.*loading')}) if check == "ip_blocked": self.setWait(1800, True) self.wait() self.retry()
def handleFree(self): self.html = self.load(self.pyfile.url) #get wait time found = re.search('\s*var\sdownloadWait\s=\s(\d+);', self.html) self.setWait(int(found.group(1)) if found else 30) #parse download form action, inputs = parseHtmlForm('id="download', self.html) #solve captcha found = re.search('recaptcha/api/(?:challenge|noscript)?k=(.+?)', self.html) captcha_key = found.group(1) if found else "6LdEFb0SAAAAAAwM70vnYo2AkiVkCx-xmfniatHz" recaptcha = ReCaptcha(self) inputs['recaptcha_challenge_field'], inputs['recaptcha_response_field'] = recaptcha.challenge(captcha_key) self.wait() #validate self.req.http.c.setopt(FOLLOWLOCATION, 0) self.html = self.load(action, post = inputs) found = re.search(r"Location\s*:\s*(\S*)", self.req.http.header, re.I) if found: self.correctCaptcha() download_url = found.group(1) else: if "Sicherheitscode falsch" in self.html: self.invalidCaptcha() self.retry(max_tries = 5, reason = "Invalid captcha") else: self.fail("Invalid session") #download self.req.http.c.setopt(FOLLOWLOCATION, 1) self.download(download_url) check = self.checkDownload({ "ip_blocked": re.compile(r'<div class="error".*IP.*loading') }) if check == "ip_blocked": self.setWait(1800, True) self.wait() self.retry()
def login(self, user, data, req): html = req.load(self.MAIN_PAGE + 'login.html', decode = True) action, inputs = parseHtmlForm('name="FL"', html) if not inputs: inputs = {"op": "login", "redirect": self.MAIN_PAGE} inputs.update({"login": user, "password": data['password']}) # Without this a 403 Forbidden is returned req.http.lastURL = self.MAIN_PAGE + 'login.html' html = req.load(self.MAIN_PAGE, post = inputs, decode = True) if 'Incorrect Login or Password' in html or '>Error<' in html: self.wrongPassword()