'Downloads the content at the given URL (by default it will be cached locally).
Unless unicode=False, the content is returned as a unicode string.'

def download(self, timeout=10, cached=True, throttle=0, proxy=None, user_agent=USER_AGENT, referrer=REFERRER, authentication=None, unicode=False, **kwargs):

    if ((self._parts is None) and (self.method == GET) and ('oauth_' not in self._string)):
        id = self._string
    else:
        id = repr(self.parts)
        id = re.sub("u{0,1}'oauth_.*?':    u{0,1}'.*?',    ", '', id)
    if (unicode is True):
        id = ('u' + id)
    if (cached and (id in cache)):
        if isinstance(cache, dict):
            return cache[id]
        if (unicode is True):
            return cache[id]
        if (unicode is False):
            return cache.get(id, unicode=False)
    t = time.time()
    try:
        data = self.open(timeout, proxy, user_agent, referrer, authentication).read()
    except socket.timeout as e:
        raise URLTimeout(src=e, url=self.string)
    if (unicode is True):
        data = u(data)
    if cached:
        cache[id] = data
    if throttle:
        time.sleep(max((throttle - (time.time() - t)), 0))
    return data
