我工作在一个后台访问一个OpenID用户(StackExchange事实上)。如果我提供所有可能的OpenID提供者作为一个选择的用户,那么我就要模拟浏览器交互验证到每个这些供应商之前,我可以公开身份的URL。然而,我认为我可以把这短暂的访问用户的Web浏览器存在的cookie,并要求认证,消费者直接与URL。
问题:
如何获取用户的Web浏览器的cookies?我很少见到有关如何使用Python做。这一问题部分地回答了关于Firefox的问题,指出特别是她的下面的代码示例。然而,我需要从Linux上使用的最常见的Web浏览器访问的饼干,而不只是火狐。
#! /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问题:做Python提供的模块,可以方便的从Web浏览器提取饼干吗?另外,我应该如何适应上述代码从其他浏览器绘制饼干,如铬等?
PS:还是我在最初的问题(即验证到OpenID提供商)错了?(我觉得我只是更换问题的另一个。)
没有评论:
发表评论