如何使用Python从Web浏览器获取cookie?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用Python从Web浏览器获取cookie?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1890字,纯文字阅读大概需要3分钟。
内容图文
![如何使用Python从Web浏览器获取cookie?](/upload/InfoBanner/zyjiaocheng/707/6c32fe4ac97941749b2bbbca81d83a2c.jpg)
语境:
我正在进行对OpenID使用者的后端访问(实际上是StackExchange).如果我要提供所有可能的OpenID提供程序作为用户的选项,那么在我提交Open ID URL之前,我必须模拟浏览器交互以对每个提供程序进行身份验证.但是,我想我可以通过访问用户网络浏览器的现有cookie,并直接使用URL向消费者请求身份验证来缩短这一空白.
问题:
如何访问用户的网络浏览器的cookie?我已经看到很少有关于如何使用Python的信息.这个previous question部分回答了关于Firefox的问题,特别指出她下面的the code sample.但是,我需要从Linux上使用的最常见的Web浏览器访问cookie,而不仅仅是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
问题:Python是否提供了一个可以促进从Web浏览器中提取cookie的模块?否则,我应该如何调整上面的代码来从其他浏览器中绘制cookie,比如Chromium等?
PS:或者我是否以错误的方式查看初始问题(即向OpenID提供商进行身份验证)? (我觉得我只是用另一个问题替换了问题.)
解决方法:
我创建了一个模块来完成它,可以在这里找到:https://bitbucket.org/richardpenman/browsercookie/
用法示例:
import requests
import browsercookie
cj = browsercookie.chrome()
r = requests.get('https://stackoverflow.com', cookies=cj)
python3 fork:https://github.com/borisbabic/browser_cookie3
内容总结
以上是互联网集市为您收集整理的如何使用Python从Web浏览器获取cookie?全部内容,希望文章能够帮你解决如何使用Python从Web浏览器获取cookie?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。