本文整理汇总了Python中module.plugins.captcha.ReCaptcha.ReCaptcha.challenge方法的典型用法代码示例。如果您正苦于以下问题:Python ReCaptcha.challenge方法的具体用法?Python ReCaptcha.challenge怎么用?Python ReCaptcha.challenge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类module.plugins.captcha.ReCaptcha.ReCaptcha
的用法示例。
在下文中一共展示了ReCaptcha.challenge方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: handle_free
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_free(self, pyfile):
data = {'ukey': self.info['pattern']['ID']}
m = re.search(self.AB1_PATTERN, self.data)
if m is None:
self.error(_("__AB1"))
data['__ab1'] = m.group(1)
recaptcha = ReCaptcha(self)
m = re.search(self.RECAPTCHA_PATTERN, self.data)
captcha_key = m.group(1) if m else recaptcha.detect_key()
if captcha_key is None:
self.error(_("ReCaptcha key not found"))
response, challenge = recaptcha.challenge(captcha_key)
self.account.form_data = {'recaptcha_challenge_field': challenge,
'recaptcha_response_field' : response}
self.account.relogin()
self.retry(2)
json_url = "http://filecloud.io/download-request.json"
res = self.load(json_url, post=data)
self.log_debug(res)
res = json.loads(res)
if "error" in res and res['error']:
self.fail(res)
self.log_debug(res)
if res['captcha']:
data['ctype'] = "recaptcha"
data['recaptcha_response'], data['recaptcha_challenge'] = recaptcha.challenge(captcha_key)
json_url = "http://filecloud.io/download-request.json"
res = self.load(json_url, post=data)
self.log_debug(res)
res = json.loads(res)
if "retry" in res and res['retry']:
self.retry_captcha()
else:
self.captcha.correct()
if res['dl']:
self.data = self.load('http://filecloud.io/download.html')
m = re.search(self.LINK_FREE_PATTERN % self.info['pattern']['ID'], self.data)
if m is None:
self.error(_("LINK_FREE_PATTERN not found"))
if "size" in self.info and self.info['size']:
self.check_data = {'size': int(self.info['size'])}
self.link = m.group(1)
else:
self.fail(_("Unexpected server response"))
示例2: handle_free
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_free(self, pyfile):
recaptcha = ReCaptcha(self)
captcha_key = recaptcha.detect_key()
if captcha_key:
try:
self.link = re.search(self.LINK_PREMIUM_PATTERN, self.data)
recaptcha.challenge()
except Exception, e:
self.error(e)
示例3: handle_free
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_free(self, pyfile):
if "You need Premium membership to download this file." in self.data:
self.fail(_("You need Premium membership to download this file"))
for _i in xrange(5):
m = re.search(self.CAPTCHA_PATTERN, self.data)
if m is not None:
url = urlparse.urljoin("http://crocko.com/", m.group(1))
self.wait(m.group(2))
self.data = self.load(url)
else:
break
m = re.search(self.FORM_PATTERN, self.data, re.S)
if m is None:
self.error(_("FORM_PATTERN not found"))
action, form = m.groups()
inputs = dict(re.findall(self.FORM_INPUT_PATTERN, form))
recaptcha = ReCaptcha(self)
inputs['recaptcha_response_field'], inputs['recaptcha_challenge_field'] = recaptcha.challenge()
self.download(action, post=inputs)
if self.check_file({'captcha': recaptcha.KEY_AJAX_PATTERN}):
self.retry_captcha()
示例4: handle_free
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_free(self, pyfile):
#: Click the "free user" button and wait
a = self.load(pyfile.url, post={'downloadLink': "wait"})
self.log_debug(a)
self.wait(30)
#: Make the recaptcha appear and show it the pyload interface
b = self.load(pyfile.url, post={'checkDownload': "check"})
self.log_debug(b) #: Expected output: {'success': "showCaptcha"}
recaptcha = ReCaptcha(self)
response, challenge = recaptcha.challenge(self.RECAPTCHA_KEY)
#: Submit the captcha solution
self.load("http://www.uploadable.ch/checkReCaptcha.php",
post={'recaptcha_challenge_field' : challenge,
'recaptcha_response_field' : response,
'recaptcha_shortencode_field': self.info['pattern']['ID']})
self.wait(3)
#: Get ready for downloading
self.load(pyfile.url, post={'downloadLink': "show"})
self.wait(3)
#: Download the file
self.download(pyfile.url, post={'download': "normal"}, disposition=True)
示例5: handle_free
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_free(self, pyfile):
inputs = self.parse_html_form(input_names={'token': re.compile(r'.+')})[1]
if 'token' not in inputs:
self.error(_("Unable to detect token"))
self.html = self.load(pyfile.url, post={'token': inputs['token']})
inputs = self.parse_html_form(input_names={'hash': re.compile(r'.+')})[1]
if 'hash' not in inputs:
self.error(_("Unable to detect hash"))
recaptcha = ReCaptcha(self)
response, challenge = recaptcha.challenge()
#@NOTE: Work-around for v0.4.9 just_header issue
#@TODO: Check for v0.4.10
self.req.http.c.setopt(pycurl.FOLLOWLOCATION, 0)
self.load(pyfile.url, post={'recaptcha_challenge_field': challenge,
'recaptcha_response_field' : response,
'hash' : inputs['hash']})
self.req.http.c.setopt(pycurl.FOLLOWLOCATION, 1)
if 'location' in self.req.http.header.lower():
self.link = re.search(r'location: (\S+)', self.req.http.header, re.I).group(1)
self.captcha.correct()
else:
self.captcha.invalid()
示例6: handle_captcha
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_captcha(self):
solvemedia = SolveMedia(self.pyfile)
captcha_key = solvemedia.detect_key()
if captcha_key:
self.captcha = solvemedia
response, challenge = solvemedia.challenge(captcha_key)
self.data = self.load("http://www.mediafire.com/?" + self.info['pattern']['ID'],
post={'adcopy_challenge': challenge,
'adcopy_response' : response})
return
recaptcha = ReCaptcha(self.pyfile)
captcha_key = recaptcha.detect_key()
if captcha_key:
url, inputs = self.parse_html_form('name="form_captcha"')
self.log_debug(("form_captcha url:%s inputs:%s") % (url, inputs))
if url:
self.captcha = recaptcha
response, challenge = recaptcha.challenge(captcha_key)
inputs['g-recaptcha-response'] = response
self.data = self.load(self.fixurl(url), post=inputs)
else:
self.fail("ReCaptcha form not found")
示例7: handle_free
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_free(self, pyfile):
rep = self.load(r"http://luckyshare.net/download/request/type/time/file/" + self.info['pattern']['ID'])
self.log_debug("JSON: " + rep)
json = self.parse_json(rep)
self.wait(json['time'])
recaptcha = ReCaptcha(self)
for _i in xrange(5):
response, challenge = recaptcha.challenge()
rep = self.load(r"http://luckyshare.net/download/verify/challenge/%s/response/%s/hash/%s" %
(challenge, response, json['hash']))
self.log_debug("JSON: " + rep)
if 'link' in rep:
json.update(self.parse_json(rep))
self.captcha.correct()
break
elif 'Verification failed' in rep:
self.captcha.invalid()
else:
self.error(_("Unable to get downlaod link"))
if not json['link']:
self.fail(_("No Download url retrieved/all captcha attempts failed"))
self.link = json['link']
示例8: handle_free
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_free(self, pyfile):
self.html = self.load(pyfile.url, post={'gateway_result': "1"})
self.check_errors()
m = re.search(r"var fid = '(\w+)';", self.html)
if m is None:
self.retry(wait_time=5)
params = {'fid': m.group(1)}
self.log_debug("FID: %s" % params['fid'])
self.check_errors()
recaptcha = ReCaptcha(self)
captcha_key = recaptcha.detect_key()
if captcha_key is None:
return
self.html = self.load("https://dfiles.eu/get_file.php", get=params)
if '<input type=button value="Continue" onclick="check_recaptcha' in self.html:
params['response'], params['challenge'] = recaptcha.challenge(captcha_key)
self.html = self.load("https://dfiles.eu/get_file.php", get=params)
m = re.search(self.LINK_FREE_PATTERN, self.html)
if m:
self.link = urllib.unquote(m.group(1))
示例9: handle_free
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_free(self, pyfile):
#: Used here to load the cookies which will be required later
self.load(pyfile.url, post={'goToFreePage': ""})
self.load("http://nitroflare.com/ajax/setCookie.php", post={'fileId': self.info['pattern']['ID']})
self.data = self.load("http://nitroflare.com/ajax/freeDownload.php",
post={'method': "startTimer", 'fileId': self.info['pattern']['ID']})
self.check_errors()
try:
js_file = self.load("http://nitroflare.com/js/downloadFree.js?v=1.0.1")
var_time = re.search("var time = (\\d+);", js_file)
wait_time = int(var_time.groups()[0])
except Exception:
wait_time = 60
self.wait(wait_time)
recaptcha = ReCaptcha(self)
response, challenge = recaptcha.challenge(self.RECAPTCHA_KEY)
self.data = self.load("http://nitroflare.com/ajax/freeDownload.php",
post={'method' : "fetchDownload",
'recaptcha_challenge_field': challenge,
'recaptcha_response_field' : response})
return super(NitroflareCom, self).handle_free(pyfile)
示例10: handle_free
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_free(self, pyfile):
self.req.http.lastURL = pyfile.url
self.req.http.c.setopt(pycurl.HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])
jsvars = self.get_json_response("https://rapidu.net/ajax.php",
get={'a': "getLoadTimeToDownload"},
post={'_go': ""})
if str(jsvars['timeToDownload']) == "stop":
t = (24 * 60 * 60) - (int(time.time()) % (24 * 60 * 60)) + time.altzone
self.log_info(_("You've reach your daily download transfer"))
self.retry(10, 10 if t < 1 else None, _("Try tomorrow again")) #@NOTE: check t in case of not synchronised clock
else:
self.wait(int(jsvars['timeToDownload']) - int(time.time()))
recaptcha = ReCaptcha(self)
response, challenge = recaptcha.challenge(self.RECAPTCHA_KEY)
jsvars = self.get_json_response("https://rapidu.net/ajax.php",
get={'a': "getCheckCaptcha"},
post={'_go' : "",
'captcha1': challenge,
'captcha2': response,
'fileId' : self.info['pattern']['ID']})
if jsvars['message'] == "success":
self.link = jsvars['url']
示例11: handle_captcha
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_captcha(self):
post_data = {'free' : 1,
'freeDownloadRequest': 1,
'uniqueId' : self.fid,
'yt0' : ''}
m = re.search(r'id="(captcha\-form)"', self.html)
self.log_debug("captcha-form found %s" % m)
m = re.search(self.CAPTCHA_PATTERN, self.html)
self.log_debug("CAPTCHA_PATTERN found %s" % m)
if m:
captcha_url = urlparse.urljoin("http://keep2s.cc/", m.group(1))
post_data['CaptchaForm[code]'] = self.captcha.decrypt(captcha_url)
else:
recaptcha = ReCaptcha(self)
response, challenge = recaptcha.challenge()
post_data.update({'recaptcha_challenge_field': challenge,
'recaptcha_response_field' : response})
self.html = self.load(self.pyfile.url, post=post_data)
if 'verification code is incorrect' not in self.html:
self.captcha.correct()
else:
self.captcha.invalid()
示例12: solve_captcha
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def solve_captcha(self):
recaptcha = ReCaptcha(self)
response, challenge = recaptcha.challenge(self.RECAPTCHA_KEY)
apiUrl = "http://www.oboom.com/1.0/download/ticket"
params = {
"recaptcha_challenge_field": challenge,
"recaptcha_response_field": response,
"download_id": self.file_id,
"token": self.session_token,
}
result = self.load_url(apiUrl, params)
if result[0] == 200:
self.download_token = result[1]
self.download_auth = result[2]
self.captcha.correct()
self.wait(30)
else:
if result[0] == 403:
if result[1] == -1: #: Another download is running
self.set_wait(15 * 60)
else:
self.set_wait(result[1])
self.set_reconnect(True)
self.wait()
self.retry(5)
elif result[0] == 400 and result[1] == "forbidden":
self.retry(5, 15 * 60, _("Service unavailable"))
self.retry_captcha()
示例13: get_download_url
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def get_download_url(self):
#: Return location if direct download is active
if self.premium:
header = self.load(self.pyfile.url, just_header=True)
if 'location' in header:
return header.get('location')
#: Get download info
self.log_debug("Getting download info")
res = self.load("http://bitshare.com/files-ajax/" + self.file_id + "/request.html",
post={'request': "generateID", 'ajaxid': self.ajaxid})
self.handle_errors(res, ':')
parts = res.split(":")
filetype = parts[0]
wait = int(parts[1])
captcha = int(parts[2])
self.log_debug("Download info [type: '%s', waiting: %d, captcha: %d]" % (filetype, wait, captcha))
#: Waiting
if wait > 0:
self.log_debug("Waiting %d seconds." % wait)
if wait < 120:
self.wait(wait, False)
else:
self.wait(wait - 55, True)
self.retry()
#: Resolve captcha
if captcha == 1:
self.log_debug("File is captcha protected")
recaptcha = ReCaptcha(self)
response, challenge = recaptcha.challenge()
res = self.load("http://bitshare.com/files-ajax/" + self.file_id + "/request.html",
post={'request' : "validateCaptcha",
'ajaxid' : self.ajaxid,
'recaptcha_challenge_field': challenge,
'recaptcha_response_field' : response})
self.handle_captcha_errors(res)
#: Get download URL
self.log_debug("Getting download url")
res = self.load("http://bitshare.com/files-ajax/" + self.file_id + "/request.html",
post={'request': "getDownloadURL", 'ajaxid': self.ajaxid})
self.handle_errors(res, '#')
url = res.split("#")[-1]
return url
示例14: handle_free
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def handle_free(self, pyfile):
recaptcha = ReCaptcha(self)
response, challenge = recaptcha.challenge()
self.data = self.load(pyfile.url,
post={'recaptcha_challenge_field': challenge,
'recaptcha_response_field' : response})
m = re.search(self.LINK_FREE_PATTERN, self.data)
if m is not None:
self.link = m.group(1)
示例15: do_captcha
# 需要导入模块: from module.plugins.captcha.ReCaptcha import ReCaptcha [as 别名]
# 或者: from module.plugins.captcha.ReCaptcha.ReCaptcha import challenge [as 别名]
def do_captcha(self):
captcha_key = re.search(self.CAPTCHA_KEY_PATTERN, self.data).group(1)
recaptcha = ReCaptcha(self)
response, challenge = recaptcha.challenge(captcha_key)
res = json.loads(self.load(self.URLS[2],
post={'recaptcha_challenge_field' : challenge,
'recaptcha_response_field' : response,
'recaptcha_shortencode_field': self.file_id}))
if res['success']:
self.captcha.correct()
else:
self.retry_captcha()