Comment authentifier un site avec Python à l'aide de urllib2?

Après beaucoup de lecture ici sur Stackoverflow ainsi que sur le web j'ai encore des difficultés à obtenir des choses à travailler.

Mon défi: afin d'accéder à une partie restreinte d'un site internet dont je suis un membre à l'aide de Python et urllib2.

De ce que j'ai lu le code devrait ressembler à ceci:

mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()

url = 'http://www.domain.com'

mgr.add_password(None, url, 'username', 'password')
handler = urllib2.HTTPBasicAuthHandler(mgr)
opener = urllib2.build_opener(handler)

urllib2.install_opener(opener)

try:
    response = urllib2.urlopen('http://www.domain.com/restrictedpage')
    page = response.read()
    print page.geturl()
except IOError, e:
    print e

L'impression de ne pas imprimer "http://www.domain.com/restrictedpage" mais spectacles "http://www.domain.com/login" donc, mes identifiants ne sont pas stockés ou traités et je suis redirigé.

Comment puis-je obtenir que cela fonctionne? J'ai essayé pendant des jours et continuez à frapper les mêmes impasses. J'ai essayé tous les exemples que j'ai pu trouver en vain.

Ma principale question est: est-ce qu'il est nécessaire de s'authentifier sur un site web à l'aide de Python et urllib2?
Petite question: ce que je fais mal?

le site vous Authentification Http de base?? de nombreux sites ne sont pas, il vous sera nécessaire, afin de savoir quelles sont les variables posté à ce que l'URL, et de tout faire manuellement.
Comment puis-je savoir? Je sais que sur la 401 en-têtes, mais je n'arrive pas à les capturer. Vous avez un exemple sur la façon de le faire manuellement?

OriginalL'auteur Roland | 2012-03-03