代码如下:
f = None
try:
data = urllib.urlencode(params)
req = None
if None != headers:
headers['Connection'] = 'close'
else:
headers = {'Connection':'close'}
if 'GET' == method:
url = '%s?%s' % (url , data)
req = urllib2.Request(url = url, headers = headers)
else:
req = urllib2.Request(url = url, data = data, headers = headers)
f = urllib2.urlopen(req, timeout=timeout)
c = f.read()
if htmlEncode != exportEncode:
c = c.decode(htmlEncode).encode(exportEncode)
return c
except:
print "Unexpected error:"+url+';'+str(f), sys.exc_info()
return False
finally:
if None != f:
f.fp._sock.recv=None
f.close()
print 'f_closed_2'+url
del f
调用时发现,当出现socket.timeout异常时,服务器会出现CLOSE_WAIT,但这时f又是为None,不知道如何关闭连接,求大神~~~