merge from 3.2 - fix urlopen behavior on sites which do not send (or obsfuscates) Connection: Close header.
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index 2bce745..a0065b5 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -1166,14 +1166,14 @@
try:
h.request(req.get_method(), req.get_selector(), req.data, headers)
+ except socket.error, err: # XXX what error?
+ h.close()
+ raise URLError(err)
+ else:
try:
r = h.getresponse(buffering=True)
- except TypeError: #buffering kw not supported
+ except TypeError: # buffering kw not supported
r = h.getresponse()
- except socket.error, err: # XXX what error?
- raise URLError(err)
- finally:
- h.close()
# Pick apart the HTTPResponse object to get the addinfourl
# object initialized properly.