Fix issue14826 - make urllib.request.Request quoted url consistent with URLOpener open method.
Patch contributed by Stephen Thorne.
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index d4596cd..944f622 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -110,7 +110,7 @@
from StringIO import StringIO
from urllib import (unwrap, unquote, splittype, splithost, quote,
- addinfourl, splitport, splittag,
+ addinfourl, splitport, splittag, toBytes,
splitattr, ftpwrapper, splituser, splitpasswd, splitvalue)
# support for FileHandler, proxies via environment variables
@@ -196,7 +196,8 @@
def __init__(self, url, data=None, headers={},
origin_req_host=None, unverifiable=False):
# unwrap('<URL:type://host/path>') --> 'type://host/path'
- self.__original = unwrap(url)
+ self.__original = unwrap(toBytes(url))
+ self.__original = quote(self.__original, safe="%/:=&?~#+!$,;'@()*[]|")
self.__original, self.__fragment = splittag(self.__original)
self.type = None
# self.__r_type is what's left after doing the splittype