Merged revisions 83818 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r83818 | senthil.kumaran | 2010-08-08 16:57:53 +0530 (Sun, 08 Aug 2010) | 4 lines Fix Issue8280 - urllib2's Request method will remove fragements in the url. This is how it should work,wget and curl work like this way too. Old behavior was wrong. ........
This commit is contained in:
parent
431774f32a
commit
b4ec7ee486
|
@ -1237,6 +1237,16 @@ class RequestTests(unittest.TestCase):
|
|||
self.assertEqual("www.python.org", self.get.get_origin_req_host())
|
||||
self.assertEqual("www.perl.org", self.get.get_host())
|
||||
|
||||
def test_wrapped_url(self):
|
||||
req = Request("<URL:http://www.python.org>")
|
||||
self.assertEqual("www.python.org", req.get_host())
|
||||
|
||||
def test_urlwith_fragment(self):
|
||||
req = Request("http://www.python.org/?qs=query#fragment=true")
|
||||
self.assertEqual("/?qs=query", req.get_selector())
|
||||
req = Request("http://www.python.org/#fun=true")
|
||||
self.assertEqual("/", req.get_selector())
|
||||
|
||||
|
||||
def test_main(verbose=None):
|
||||
from test import test_urllib2
|
||||
|
|
|
@ -154,6 +154,13 @@ class OtherNetworkTests(unittest.TestCase):
|
|||
|
||||
## self._test_urls(urls, self._extra_handlers()+[bauth, dauth])
|
||||
|
||||
def test_urlwithfrag(self):
|
||||
urlwith_frag = "http://docs.python.org/glossary.html#glossary"
|
||||
req = urllib2.Request(urlwith_frag)
|
||||
res = urllib2.urlopen(req)
|
||||
self.assertEqual(res.geturl(),
|
||||
"http://docs.python.org/glossary.html")
|
||||
|
||||
def _test_urls(self, urls, handlers, retry=True):
|
||||
import time
|
||||
import logging
|
||||
|
|
|
@ -109,7 +109,7 @@ except ImportError:
|
|||
from StringIO import StringIO
|
||||
|
||||
from urllib import (unwrap, unquote, splittype, splithost, quote,
|
||||
addinfourl, splitport,
|
||||
addinfourl, splitport, splittag,
|
||||
splitattr, ftpwrapper, splituser, splitpasswd, splitvalue)
|
||||
|
||||
# support for FileHandler, proxies via environment variables
|
||||
|
@ -190,6 +190,7 @@ class Request:
|
|||
origin_req_host=None, unverifiable=False):
|
||||
# unwrap('<URL:type://host/path>') --> 'type://host/path'
|
||||
self.__original = unwrap(url)
|
||||
self.__original, fragment = splittag(self.__original)
|
||||
self.type = None
|
||||
# self.__r_type is what's left after doing the splittype
|
||||
self.host = None
|
||||
|
|
Loading…
Reference in New Issue