Issue 2569: default_scheme in urlparse.urlparse() useless (original) (raw)
Hello,
the urlparse() function accepts a parameter default_scheme, to be used if the address given does not contain one, but I cannot make use of it, because I would expect these two returning identical values:
from urlparse import urlparse urlparse("www","http") ('http', '', 'www', '', '', '') urlparse("http://www","http") ('http', 'www', '', '', '', '')
This has been reported about six years ago but apparently the behaviour hasn't changed. I cannot imagine that this really is the intended behaviour.
Regards,
pk
In http://bugs.python.org/issue754016 there's already a discussion about this. The RFC that urlparse is following (rfc 1808) requires the net_loc component to start with // even if the scheme component is missing, which is why urlparse("www","http") puts the 'www' in to the path component instead of net_loc.
It seems that this is indeed the intended behavior, and the patch for issue 754016 adds a docfix clarifying this.