mirror of https://github.com/python/cpython
merge from 3.2 - Fix closes Issue12576 - fix urlopen behavior on sites which do not send (or obsfuscates) Connection: Close header.
This commit is contained in:
commit
7496fef8ff
|
@ -174,6 +174,22 @@ class OtherNetworkTests(unittest.TestCase):
|
||||||
opener.open(request)
|
opener.open(request)
|
||||||
self.assertEqual(request.get_header('User-agent'),'Test-Agent')
|
self.assertEqual(request.get_header('User-agent'),'Test-Agent')
|
||||||
|
|
||||||
|
def test_sites_no_connection_close(self):
|
||||||
|
# Some sites do not send Connection: close header.
|
||||||
|
# Verify that those work properly. (#issue12576)
|
||||||
|
|
||||||
|
try:
|
||||||
|
with urllib.request.urlopen('http://www.imdb.com') as res:
|
||||||
|
pass
|
||||||
|
except ValueError as e:
|
||||||
|
self.fail("urlopen failed for sites not sending Connection:close")
|
||||||
|
else:
|
||||||
|
self.assertTrue(res)
|
||||||
|
|
||||||
|
req = urllib.request.urlopen('http://www.imdb.com')
|
||||||
|
res = req.read()
|
||||||
|
self.assertTrue(res)
|
||||||
|
|
||||||
def _test_urls(self, urls, handlers, retry=True):
|
def _test_urls(self, urls, handlers, retry=True):
|
||||||
import time
|
import time
|
||||||
import logging
|
import logging
|
||||||
|
|
|
@ -1143,11 +1143,14 @@ class AbstractHTTPHandler(BaseHandler):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
h.request(req.get_method(), req.selector, req.data, headers)
|
h.request(req.get_method(), req.selector, req.data, headers)
|
||||||
r = h.getresponse() # an HTTPResponse instance
|
except socket.error as err: # timeout error
|
||||||
except socket.error as err:
|
|
||||||
raise URLError(err)
|
raise URLError(err)
|
||||||
finally:
|
finally:
|
||||||
|
try:
|
||||||
|
r = h.getresponse() # an HTTPResponse instance
|
||||||
|
except Exception as exp:
|
||||||
h.close()
|
h.close()
|
||||||
|
raise exp
|
||||||
|
|
||||||
r.url = req.get_full_url()
|
r.url = req.get_full_url()
|
||||||
# This line replaces the .msg attribute of the HTTPResponse
|
# This line replaces the .msg attribute of the HTTPResponse
|
||||||
|
|
|
@ -237,6 +237,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #12576: Fix urlopen behavior on sites which do not send (or obfuscates)
|
||||||
|
Connection:close header.
|
||||||
|
|
||||||
- Issue #12102: Document that buffered files must be flushed before being used
|
- Issue #12102: Document that buffered files must be flushed before being used
|
||||||
with mmap. Patch by Steffen Daode Nurpmeso.
|
with mmap. Patch by Steffen Daode Nurpmeso.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue