Comment recevoir des cookies de navigateur web avec Python?

Contexte:
Je suis en train de travailler sur une interface d'accès à un OpenID consommateur (StackExchange en fait). Si je suis à fournir tout OpenID, les fournisseurs d'une option à l'utilisateur, alors je dois simuler interagir avec le navigateur pour authentifier à chacun de ces fournisseurs avant que je puisse les soumettre à l'Open ID de l'URL. Cependant, je pense que je pourrais couper court en accédant à la les témoins existants de l'utilisateur du navigateur web, et demande l'authentification pour le consommateur directement à l'URL.

Problème:
Comment accéder à la web de l'utilisateur-cookies du navigateur? J'ai vu très peu d'informations sur la façon de le faire avec Python. Cette question précédente partie des réponses, le problème en ce qui concerne Firefox, pointant en particulier à l'exemple de code son ci-dessous. Cependant, j'aurais besoin d'accéder à des cookies à partir de la plupart des navigateurs web courants utilisés sur Linux, et pas seulement Firefox.

#! /usr/bin/env python
# Protocol implementation for handling gsocmentors.com transactions
# Author: Noah Fontes nfontes AT cynigram DOT com
# License: MIT

def sqlite2cookie(filename):
    from cStringIO import StringIO
    from pysqlite2 import dbapi2 as sqlite

    con = sqlite.connect(filename)

    cur = con.cursor()
    cur.execute("select host, path, isSecure, expiry, name, value from moz_cookies")

    ftstr = ["FALSE","TRUE"]

    s = StringIO()
    s.write("""\
# Netscape HTTP Cookie File
# http://www.netscape.com/newsref/std/cookie_spec.html
# This is a generated file!  Do not edit.
""")
    for item in cur.fetchall():
        s.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\n" % (
            item[0], ftstr[item[0].startswith('.')], item[1],
            ftstr[item[2]], item[3], item[4], item[5]))

    s.seek(0)

    cookie_jar = cookielib.MozillaCookieJar()
    cookie_jar._really_load(s, '', True, True)
    return cookie_jar

Question: est-Python fournir un module qui permet de faciliter le cookie d'extraction dans les navigateurs web? Sinon, comment dois-je adapter le code ci-dessus pour dessiner des cookies à partir d'autres navigateurs comme Chrome, etc.?

PS: Ou suis-je en regardant le problème initial (c'est à dire s'authentifier auprès du fournisseur OpenID) dans le mauvais sens? (Je sens que je suis juste de remplacer un problème par un autre.)

Vous pouvez jeter un oeil à stackoverflow.com/questions/4634408/...
ou stackoverflow.com/questions/921532/retrieving-cookies-python
fait que l'on n'est pertinente que pour garder les témoins tout au long des séances, je sais déjà comment faire. Ce que j'essaie de faire est d'obtenir les cookies du navigateur lui-même.
vous pouvez consulter le Cookie module pour récupérer les cookies. thiscookie = Cookie.SimpleCookie() si u'HTTP_COOKIE' en os.environ.keys(): thiscookie.de la charge(de l'os.environ[u'HTTP_COOKIE'])
la partie intéressante est le HTTP_COOKIE dans os.environ.keys(), avez-vous plus d'info quelque part à ce sujet? Merci.

OriginalL'auteur Benjamin | 2012-01-11