fix wstream
This commit is contained in:
+1
-1
@@ -31,7 +31,7 @@ cookies_file = os.path.join(config.get_data_path(), "cookies.dat")
|
|||||||
default_headers = dict()
|
default_headers = dict()
|
||||||
default_headers["User-Agent"] = "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
|
default_headers["User-Agent"] = "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
|
||||||
default_headers["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
|
default_headers["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
|
||||||
default_headers["Accept-Language"] = "es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3"
|
default_headers["Accept-Language"] = "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3"
|
||||||
default_headers["Accept-Charset"] = "UTF-8"
|
default_headers["Accept-Charset"] = "UTF-8"
|
||||||
default_headers["Accept-Encoding"] = "gzip"
|
default_headers["Accept-Encoding"] = "gzip"
|
||||||
|
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ class Recaptcha(xbmcgui.WindowXMLDialog):
|
|||||||
self.key = key
|
self.key = key
|
||||||
self.headers = {'Referer': self.referer}
|
self.headers = {'Referer': self.referer}
|
||||||
|
|
||||||
api_js = httptools.downloadpage("http://www.google.com/recaptcha/api.js?hl=" + lang).data
|
api_js = httptools.downloadpage("https://www.google.com/recaptcha/api.js?hl=" + lang).data
|
||||||
version = scrapertools.find_single_match(api_js, 'po.src\s*=\s*\'(.*?)\';').split("/")[5]
|
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.url = "https://www.google.com/recaptcha/api/fallback?k=" + self.key + "&hl=" + lang + "&v=" + version + "&t=2&ff=true"
|
||||||
self.doModal()
|
self.doModal()
|
||||||
# Reload
|
# Reload
|
||||||
if self.result == {}:
|
if self.result == {}:
|
||||||
@@ -31,7 +31,7 @@ class Recaptcha(xbmcgui.WindowXMLDialog):
|
|||||||
'<div class="rc-imageselect-desc[a-z-]*">(.*?)(?:</label>|</div>)').replace(
|
'<div class="rc-imageselect-desc[a-z-]*">(.*?)(?:</label>|</div>)').replace(
|
||||||
"<strong>", "[B]").replace("</strong>", "[/B]")
|
"<strong>", "[B]").replace("</strong>", "[/B]")
|
||||||
self.token = scrapertools.find_single_match(data, 'name="c" value="([^"]+)"')
|
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)
|
self.image = "https://www.google.com/recaptcha/api2/payload?k=%s&c=%s" % (self.key, self.token)
|
||||||
self.result = {}
|
self.result = {}
|
||||||
self.getControl(10020).setImage(self.image)
|
self.getControl(10020).setImage(self.image)
|
||||||
self.getControl(10000).setText(self.message)
|
self.getControl(10000).setText(self.message)
|
||||||
@@ -58,15 +58,17 @@ class Recaptcha(xbmcgui.WindowXMLDialog):
|
|||||||
|
|
||||||
elif control == 10002:
|
elif control == 10002:
|
||||||
self.result = [int(k) for k in range(9) if self.result.get(k, False)]
|
self.result = [int(k) for k in range(9) if self.result.get(k, False)]
|
||||||
post = "c=%s" % self.token
|
post = {
|
||||||
|
"c": self.token,
|
||||||
for r in self.result:
|
"response": self.result
|
||||||
post += "&response=%s" % r
|
}
|
||||||
|
|
||||||
data = httptools.downloadpage(self.url, post=post, headers=self.headers).data
|
data = httptools.downloadpage(self.url, post=post, headers=self.headers).data
|
||||||
|
from platformcode import logger
|
||||||
|
logger.info(data)
|
||||||
self.result = scrapertools.find_single_match(data, '<div class="fbc-verification-token">.*?>([^<]+)<')
|
self.result = scrapertools.find_single_match(data, '<div class="fbc-verification-token">.*?>([^<]+)<')
|
||||||
if self.result:
|
if self.result:
|
||||||
platformtools.dialog_notification("Captcha Correcto", "La verificación ha concluido")
|
platformtools.dialog_notification("Captcha corretto", "Verifica conclusa")
|
||||||
self.close()
|
self.close()
|
||||||
else:
|
else:
|
||||||
self.result = {}
|
self.result = {}
|
||||||
|
|||||||
+12
-8
@@ -18,7 +18,7 @@ def test_video_exists(page_url):
|
|||||||
global data,headers
|
global data,headers
|
||||||
page_url = scrapertools.find_single_match(data, r"""<center><a href='(https?:\/\/wstream[^']+)'\s*title='bkg'""")
|
page_url = scrapertools.find_single_match(data, r"""<center><a href='(https?:\/\/wstream[^']+)'\s*title='bkg'""")
|
||||||
if page_url:
|
if page_url:
|
||||||
data = httptools.downloadpage(page_url, headers=headers, follow_redirects=True).data
|
data = httptools.downloadpage(page_url, headers=headers, follow_redirects=True, post={'g-recaptcha-response': captcha}).data
|
||||||
|
|
||||||
logger.info("(page_url='%s')" % page_url)
|
logger.info("(page_url='%s')" % page_url)
|
||||||
resp = httptools.downloadpage(page_url)
|
resp = httptools.downloadpage(page_url)
|
||||||
@@ -28,14 +28,18 @@ def test_video_exists(page_url):
|
|||||||
if captcha:
|
if captcha:
|
||||||
page_url = resp.url
|
page_url = resp.url
|
||||||
if '/streaming.php' in page_url in page_url:
|
if '/streaming.php' in page_url in page_url:
|
||||||
code = httptools.downloadpage(page_url, headers=headers, follow_redirects=False).headers['location'].split('/')[-1].replace('.html','')
|
code = \
|
||||||
logger.info('WCODE='+code)
|
httptools.downloadpage(page_url, headers=headers, follow_redirects=False).headers['location'].split('/')[
|
||||||
|
-1].replace('.html', '')
|
||||||
|
logger.info('WCODE=' + code)
|
||||||
page_url = 'https://wstream.video/video.php?file_code=' + code
|
page_url = 'https://wstream.video/video.php?file_code=' + code
|
||||||
data = httptools.downloadpage(page_url, headers=headers, follow_redirects=True).data
|
data = httptools.downloadpage(page_url, headers=headers, follow_redirects=True).data
|
||||||
|
|
||||||
possibleParam = scrapertools.find_multiple_matches(data, r"""<input.*?(?:name=["']([^'"]+).*?value=["']([^'"]*)['"]>|>)""")
|
possibleParam = scrapertools.find_multiple_matches(data,
|
||||||
|
r"""<input.*?(?:name=["']([^'"]+).*?value=["']([^'"]*)['"]>|>)""")
|
||||||
if possibleParam:
|
if possibleParam:
|
||||||
post = urllib.urlencode({param[0]: param[1] for param in possibleParam if param[0]})
|
post = {param[0]: param[1] for param in possibleParam if param[0]}
|
||||||
|
post['g-recaptcha-response'] = captcha
|
||||||
if post:
|
if post:
|
||||||
data = httptools.downloadpage(page_url, headers=headers, post=post, follow_redirects=True).data
|
data = httptools.downloadpage(page_url, headers=headers, post=post, follow_redirects=True).data
|
||||||
else:
|
else:
|
||||||
@@ -43,9 +47,9 @@ def test_video_exists(page_url):
|
|||||||
else:
|
else:
|
||||||
int_bckup_method()
|
int_bckup_method()
|
||||||
|
|
||||||
if "Not Found" in data or "File was deleted" in data:
|
if "Not Found" in data or "File was deleted" in data:
|
||||||
return False, config.get_localized_string(70449) % 'Wstream'
|
return False, config.get_localized_string(70449) % 'Wstream'
|
||||||
return True, ""
|
return True, ""
|
||||||
else:
|
else:
|
||||||
return False, config.get_localized_string(707434)
|
return False, config.get_localized_string(707434)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user