def handleFree(self, pyfile): action, inputs = self.parseHtmlForm('action="getfile.pl"') adyoulike = AdYouLike(self) response, challenge = adyoulike.challenge() inputs.update(response) self.load("http://dl.free.fr/getfile.pl", post=inputs) headers = self.getLastHeaders() if headers.get( "code" ) == 302 and "set-cookie" in headers and "location" in headers: m = re.search("(.*?)=(.*?); path=(.*?); domain=(.*?)", headers.get("set-cookie")) cj = CookieJar(__name) if m: cj.setCookie(m.group(4), m.group(1), m.group(2), m.group(3)) else: self.fail(_("Cookie error")) self.link = headers.get("location") self.req.setCookieJar(cj) else: self.fail(_("Invalid response"))
def getCookieJar(self, pluginName, account=None): if (pluginName, account) in self.cookiejars: return self.cookiejars[(pluginName, account)] cj = CookieJar(pluginName, account) self.cookiejars[(pluginName, account)] = cj return cj
def __init__(self, manager, loginname, password, options): Base.__init__(self, manager.core) if "activated" in options: self.activated = from_string(options["activated"], "bool") else: self.activated = Account.activated for opt in self.known_opt: if opt not in options: options[opt] = "" for opt in options.keys(): if opt not in self.known_opt: del options[opt] self.loginname = loginname self.options = options self.manager = manager self.lock = RLock() self.timestamp = 0 self.login_ts = 0 # timestamp for login self.cj = CookieJar(self.__name__) self.password = password self.error = None self.init()
def getURL(self, *args, **kwargs): """ see HTTPRequest for argument list """ cj = None if 'cookies' in kwargs: if isinstance(kwargs['cookies'], CookieJar): cj = kwargs['cookies'] elif isinstance(kwargs['cookies'], list): cj = CookieJar(None) for cookie in kwargs['cookies']: if isinstance(cookie, tuple) and len(cookie) == 3: cj.setCookie(*cookie) h = HTTPRequest(cj, self.getOptions()) try: rep = h.load(*args, **kwargs) finally: h.close() return rep
def handleFree(self, pyfile): action, inputs = self.parseHtmlForm('action="getfile.pl"') adyoulike = AdYouLike(self) response, challenge = adyoulike.challenge() inputs.update(response) self.load("http://dl.free.fr/getfile.pl", post=inputs) headers = self.getLastHeaders() if headers.get("code") == 302 and "set-cookie" in headers and "location" in headers: m = re.search("(.*?)=(.*?); path=(.*?); domain=(.*?)", headers.get("set-cookie")) cj = CookieJar(__name) if m: cj.setCookie(m.group(4), m.group(1), m.group(2), m.group(3)) else: self.fail(_("Cookie error")) self.link = headers.get("location") self.req.setCookieJar(cj) else: self.fail(_("Invalid response"))
def getRequest(self, pluginName, account=None, type="HTTP"): self.lock.acquire() if type == "XDCC": return XDCCRequest(proxies=self.getProxies()) req = Browser(self.bucket, self.getOptions()) if account: cj = self.getCookieJar(pluginName, account) req.setCookieJar(cj) else: req.setCookieJar(CookieJar(pluginName)) self.lock.release() return req
def __init__(self, manager, loginname, owner, activated, shared, password, options): Base.__init__(self, manager.core, owner) self.loginname = loginname self.owner = owner self.activated = activated self.shared = shared self.password = password self.options = options self.manager = manager self.lock = RLock() self.timestamp = 0 self.login_ts = 0 # timestamp for login self.cj = CookieJar() self.error = None try: self.config_data = dict(to_configdata(x) for x in self.__config__) except Exception, e: self.logError("Invalid config: %s" % e) self.config_data = {}
def getHTTPRequest(self, **kwargs): """ returns a http request, dont forget to close it ! """ options = self.getOptions() options.update(kwargs) #: submit kwargs as additional options return HTTPRequest(CookieJar(None), options)