def extract_credentials(url): """Extract authentication (user name and password) credentials from the given URL. >>> extract_credentials('http://*****:*****@localhost:5984/_config/') ('http://*****:*****@localhost:5984/_config/') ('http://*****:*****@example.com', 'secret')) """ parts = util.urlsplit(url) netloc = parts[1] if '@' in netloc: creds, netloc = netloc.split('@') credentials = tuple(util.urlunquote(i) for i in creds.split(':')) parts = list(parts) parts[1] = netloc else: credentials = None return util.urlunsplit(parts), credentials