urlparse is not great (at least on old python versions)

>>> urlparse('https://user:password@host:1234')
('https', 'user:password@host:1234', '', '', '', '')
>>> urlparse('user:password@host:1234')
('user', '', 'password@host:1234', '', '', '')

So I'm going to keep this parsing.