python consigue encabezados solo usando urllib2

Tengo que implementar una función para obtener solo encabezados (sin hacer un GET o POST) usando urllib2. Aquí está mi función:

def getheadersonly(url, redirections = True):
    if not redirections:
        class MyHTTPRedirectHandler(urllib2.HTTPRedirectHandler):
            def http_error_302(self, req, fp, code, msg, headers):
                return urllib2.HTTPRedirectHandler.http_error_302(self, req, fp, code, msg, headers)
            http_error_301 = http_error_303 = http_error_307 = http_error_302
        cookieprocessor = urllib2.HTTPCookieProcessor()
        opener = urllib2.build_opener(MyHTTPRedirectHandler, cookieprocessor)
        urllib2.install_opener(opener)

    class HeadRequest(urllib2.Request):
        def get_method(self):
            return "HEAD"

    info = {}
    info['headers'] = dict(urllib2.urlopen(HeadRequest(url)).info()) 
    info['finalurl'] = urllib2.urlopen(HeadRequest(url)).geturl() 
    return info

Utiliza el código de la respuestaest yest. Sin embargo esteestá haciend redirección incluso cuando la bandera esFalse. Probé el código con:

print getheadersonly("http://ms.com", redirections = False)['finalurl']
print getheadersonly("http://ms.com")['finalurl']

Está dando morganstanley.com en ambos casos. ¿Que esta mal aquí

Respuestas a la pregunta(4)

Su respuesta a la pregunta