summaryrefslogtreecommitdiffstats
path: root/Lib/urllib
diff options
context:
space:
mode:
authorSenthil Kumaran <orsenthil@gmail.com>2011-04-12 23:01:19 (GMT)
committerSenthil Kumaran <orsenthil@gmail.com>2011-04-12 23:01:19 (GMT)
commit26430419703f925a9b6206ec96780ae899b6dd06 (patch)
treef6635d01d63acf63aa1a42d093a670e42ae64cc6 /Lib/urllib
parent3780542039d109ae747816dae208208be93240d6 (diff)
downloadcpython-26430419703f925a9b6206ec96780ae899b6dd06.zip
cpython-26430419703f925a9b6206ec96780ae899b6dd06.tar.gz
cpython-26430419703f925a9b6206ec96780ae899b6dd06.tar.bz2
Fix Issue11703 - urllib2.geturl() does not return correct url when the original url contains #fragment. Patch Contribution by Santoso Wijaya.
Diffstat (limited to 'Lib/urllib')
-rw-r--r--Lib/urllib/request.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
index 220dfe4..6b29901 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -163,7 +163,7 @@ class Request:
origin_req_host=None, unverifiable=False):
# unwrap('<URL:type://host/path>') --> 'type://host/path'
self.full_url = unwrap(url)
- self.full_url, fragment = splittag(self.full_url)
+ self.full_url, self.fragment = splittag(self.full_url)
self.data = data
self.headers = {}
self._tunnel_host = None
@@ -202,7 +202,10 @@ class Request:
return self.data
def get_full_url(self):
- return self.full_url
+ if self.fragment:
+ return '%s#%s' % (self.full_url, self.fragment)
+ else:
+ return self.full_url
def get_type(self):
return self.type
@@ -1106,7 +1109,7 @@ class AbstractHTTPHandler(BaseHandler):
except socket.error as err:
raise URLError(err)
- r.url = req.full_url
+ r.url = req.get_full_url()
# This line replaces the .msg attribute of the HTTPResponse
# with .headers, because urllib clients expect the response to
# have the reason in .msg. It would be good to mark this