Ejemplo n.º 1
0
 def __init__(self):
     self.net = common.Net()
Ejemplo n.º 2
0
 def __init__(self):
     self.hosts = []
     self.patterns = []
     self.net = common.Net()
     self.scheme = 'https' if self.get_setting('use_https') == 'true' else 'http'
Ejemplo n.º 3
0
 def __init__(self):
     self.net = common.Net()
     self.hosters = None
     self.hosts = None
     self.headers = {'User-Agent': USER_AGENT}
Ejemplo n.º 4
0
 def __init__(self):
     self.net = common.Net()
     self.headers = {'User-Agent': common.SMU_USER_AGENT}
Ejemplo n.º 5
0
 def __init__(self):
     self.net = common.Net()
     self.user_agent = common.IE_USER_AGENT
     self.net.set_user_agent(self.user_agent)
     self.headers = {'User-Agent': self.user_agent}
Ejemplo n.º 6
0
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

    reusable captcha methods
"""
from urlresolver import common
import re
import xbmcgui
import os
import recaptcha_v2
import helpers
import urlresolver

net = common.Net()
IMG_FILE = 'captcha_img.gif'


def get_response(img):
    try:
        img = xbmcgui.ControlImage(450, 0, 400, 130, img)
        wdlg = xbmcgui.WindowDialog()
        wdlg.addControl(img)
        wdlg.show()
        common.kodi.sleep(3000)
        solution = common.kodi.get_keyboard(common.i18n('letters_image'))
        if not solution:
            raise Exception('captcha_error')
    finally:
        wdlg.close()
Ejemplo n.º 7
0
 def __init__(self):
     self.net = common.Net()
     self.headers = {'User-Agent': common.RAND_UA}
Ejemplo n.º 8
0
 def __init__(self):
     self.net = common.Net()
     self.patterns = None
     self.hosts = None
Ejemplo n.º 9
0
def __get_content_type_and_headers(url, headers=None):
    url_override = None
    if headers is None:
        headers = get_default_headers(url)

    potential_type = __get_potential_type(url)

    try:
        net = common.Net()
        cookie_jar_result = net.set_cookies(COOKIE_FILE)
        response = net.http_HEAD(url, headers=headers)
        cookie_jar_result = net.save_cookies(COOKIE_FILE)
        response_headers = response.get_headers(as_dict=True)
        try:
            redirect = response.get_url()
            if redirect != url:
                log_utils.log(
                    'Head request following redirect to: |{0!s}|'.format(
                        url_override), log_utils.LOGDEBUG)
                url_override = redirect
                cookie_jar_result = net.set_cookies(COOKIE_FILE)
                response = net.http_HEAD(url_override, headers=headers)
                cookie_jar_result = net.save_cookies(COOKIE_FILE)
                response_headers = response.get_headers(as_dict=True)
        except:
            pass
    except:
        log_utils.log(
            'HEAD request failed: |{1!s}| media type: |{0!s}|'.format(
                potential_type, headers), log_utils.LOGDEBUG)
        return {
            'content_type': potential_type,
            'headers': headers,
            'url_override': None
        }

    clength_header = response_headers.get('Content-Length', '')
    ctype_header = response_headers.get('Content-Type', potential_type)

    try:
        media, subtype = re.findall('([a-z\-]+)/([a-z0-9\-+.]+);?',
                                    ctype_header, re.DOTALL)[0]
        log_utils.log(
            'HEAD request returned MIME type: |{0!s}/{1!s}| and headers: |{2!s}|'
            .format(media, subtype, response_headers), log_utils.LOGDEBUG)
        content_type = media
        if (content_type == 'application') and ((subtype == 'dash+xml') or (
            (subtype == 'xml') and url.endswith('.mpd'))):
            content_type = 'mpd'
        elif (content_type == 'application') and (subtype == 'smil+xml'):
            content_type = 'smil'
        elif (content_type == 'application') and ('mpeg' in subtype):
            content_type = 'video'
        elif (content_type == 'application') and (subtype == 'octet-stream') and \
                any(ext in url for ext in ['.iso', '.bin']):
            content_type = 'video'
        elif (content_type == 'video') and ('quicktime' in subtype):
            try:
                content_length = int(clength_header)
                if content_length <= 10000:
                    qt_result = __get_qt_atom_url(url, headers)
                    headers = qt_result['headers']
                    url_override = qt_result['url']
            except:
                pass
    except:
        content_type = ctype_header

    log_utils.log(
        'HEAD request complete updated headers: |{1!s}| using media type: |{0!s}|'
        .format(content_type, headers), log_utils.LOGDEBUG)
    return {
        'content_type': content_type,
        'headers': headers,
        'url_override': url_override
    }
 def __init__(self):
     self.hosts = []
     self.patterns = []
     self.net = common.Net()
     self.headers = {'User-Agent': USER_AGENT, 'Authorization': 'Bearer %s' % self.get_setting('token')}