Fix issue14826 - make urllib.request.Request quoted url consistent with URLOpener open method.
Patch contributed by Stephen Thorne.
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
index d6f9f9a..796b700 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -180,7 +180,8 @@
def __init__(self, url, data=None, headers={},
origin_req_host=None, unverifiable=False):
# unwrap('<URL:type://host/path>') --> 'type://host/path'
- self.full_url = unwrap(url)
+ self.full_url = unwrap(to_bytes(url))
+ self.full_url = quote(self.full_url, safe="%/:=&?~#+!$,;'@()*[]|")
self.full_url, self.fragment = splittag(self.full_url)
self.data = data
self.headers = {}