'does the dirty work of actually getting the rsponse object using urllib2
and its HTTP auth builtins.'

def get_response(self, url, username=None, password=None):

    (scheme, netloc, path, query, frag) = urlparse.urlsplit(url)
    req = self.get_request(url)
    (stored_username, stored_password) = self.passman.find_user_password(None, netloc)
    if (stored_username is None):
        if ((username is None) and self.prompting):
            username = urllib.quote(raw_input(('User    for    %s:    ' % netloc)))
            password = urllib.quote(getpass.getpass('Password:    '))
        if (username and password):
            self.passman.add_password(None, netloc, username, password)
        (stored_username, stored_password) = self.passman.find_user_password(None, netloc)
    authhandler = urllib2.HTTPBasicAuthHandler(self.passman)
    opener = urllib2.build_opener(authhandler)
    return opener.open(req)
