test recaptcha

This commit is contained in:
mac12m99
2020-02-18 18:46:13 +01:00
committed by marco
parent 1dd1b8ec2e
commit 2f8b09dd79
5 changed files with 48 additions and 27 deletions

View File

@@ -7,6 +7,7 @@ from core import scrapertools
from platformcode import config
from platformcode import platformtools
lang = 'it'
class Recaptcha(xbmcgui.WindowXMLDialog):
def Start(self, key, referer):
@@ -14,9 +15,9 @@ class Recaptcha(xbmcgui.WindowXMLDialog):
self.key = key
self.headers = {'Referer': self.referer}
api_js = httptools.downloadpage("http://www.google.com/recaptcha/api.js?hl=es").data
version = scrapertools.find_single_match(api_js, 'po.src = \'(.*?)\';').split("/")[5]
self.url = "http://www.google.com/recaptcha/api/fallback?k=%s&hl=es&v=%s&t=2&ff=true" % (self.key, version)
api_js = httptools.downloadpage("http://www.google.com/recaptcha/api.js?hl=" + lang).data
version = scrapertools.find_single_match(api_js, 'po.src\s*=\s*\'(.*?)\';').split("/")[5]
self.url = "http://www.google.com/recaptcha/api/fallback?k=" + self.key + "&hl=" + lang + "&v=" + version + "&t=2&ff=true"
self.doModal()
# Reload
if self.result == {}:
@@ -27,7 +28,7 @@ class Recaptcha(xbmcgui.WindowXMLDialog):
def update_window(self):
data = httptools.downloadpage(self.url, headers=self.headers).data
self.message = scrapertools.find_single_match(data,
'<div class="rc-imageselect-desc-no-canonical">(.*?)(?:</label>|</div>)').replace(
'<div class="rc-imageselect-desc[a-z-]*">(.*?)(?:</label>|</div>)').replace(
"<strong>", "[B]").replace("</strong>", "[/B]")
self.token = scrapertools.find_single_match(data, 'name="c" value="([^"]+)"')
self.image = "http://www.google.com/recaptcha/api2/payload?k=%s&c=%s" % (self.key, self.token)
@@ -56,13 +57,13 @@ class Recaptcha(xbmcgui.WindowXMLDialog):
self.close()
elif control == 10002:
self.result = [int(k) for k in range(9) if self.result.get(k, False) == True]
self.result = [int(k) for k in range(9) if self.result.get(k, False)]
post = "c=%s" % self.token
for r in self.result:
post += "&response=%s" % r
data = httptools.downloadpage(self.url, post, headers=self.headers).data
data = httptools.downloadpage(self.url, post=post, headers=self.headers).data
self.result = scrapertools.find_single_match(data, '<div class="fbc-verification-token">.*?>([^<]+)<')
if self.result:
platformtools.dialog_notification("Captcha Correcto", "La verificación ha concluido")