Even though relative redirects are illegal, they are common
urllib treated every relative redirect as though it was to http,
even if the original was https://
As long as we're compensating for server bugs, might as well do
it properly.
void = fp.read()
fp.close()
# In case the server sent a relative URL, join with original:
- newurl = basejoin("http:" + url, newurl)
+ newurl = basejoin(self.type + ":" + url, newurl)
if data is None:
return self.open(newurl)
else: