Fix issue14826 - make urllib.request.Request quoted url consistent with URLOpener open method.
Patch contributed by Stephen Thorne.
This commit is contained in:
parent
11f0b41e9d
commit
b7451cecad
|
@ -1246,6 +1246,11 @@ class URLopener_Tests(unittest.TestCase):
|
|||
# ftp.close()
|
||||
|
||||
|
||||
def test_quote_url(self):
|
||||
Request = urllib.request.Request
|
||||
request = Request("http://www.python.org/foo bar")
|
||||
self.assertEqual(request.full_url, "http://www.python.org/foo%20bar")
|
||||
|
||||
|
||||
def test_main():
|
||||
support.run_unittest(
|
||||
|
|
|
@ -180,7 +180,8 @@ class Request:
|
|||
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 = {}
|
||||
|
|
|
@ -87,6 +87,11 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #14826: Quote urls in urllib.request.Request identically to how they
|
||||
are quoted by urllib.request.URLopener. Allows urls to spaces in them to work
|
||||
transparently with urllib.request.urlopen(...). Patch contributed by Stephen
|
||||
Thorne.
|
||||
|
||||
- Issue #14990: Correctly fail with SyntaxError on invalid encoding
|
||||
declaration.
|
||||
|
||||
|
|
Loading…
Reference in New Issue