python3从chrome浏览器读取cookie
admin
2023-07-30 20:49:40
0

python3从chrome浏览器读取cookie

好几年前我在做一些自动化的脚本时,脑子里也闪过这样的想法:能不能直接把浏览器的cookies取出来用呢?

直到昨天看到代码《python模拟发送动弹》,想起来当年我也曾经有类似的想法没能完成,那就优先拿这个练手,之后的代码也会用这个功能。

直接从浏览器中取出cookies,有以下好处和用途:
1、不需要配置用户密码,直接读出浏览器中cookies就得到一样的身份,用来完成各种自动化操作。
2、部分网站登录会更新Session,会导致之前成功登录的Session失效,与浏览器使用相同的Session,不用进行登录操作,不会互相挤下线。
3、全是废话,我不想写了,行吗?

使用到软件的sqlite3的图形管理工具有:
SQLiteDatabaseBrowserPortable http://sqlitebrowser.org/
sqlitespy http://www.yunqa.de/delphi/products/sqlitespy/index

使用到的python库有:
sqlite3 python标准库,不需要下载安装

pywin32 pywin32 windows的API库,让python可以调用各种各样的windows API,代码中用到的win32crypt就是属于pywin32库的一部分。
建议手动下载对应版本pywin32安装 https://sourceforge.net/projects/pywin32/?source=directory

requests requests是一个相对比较简单易用的http库,用来代替urllib23之类的标准库,使用命令安装pip install requests

看代码:

\"\"\"
python3从chrome浏览器读取cookie
get cookie from chrome
2016年5月26日 19:50:38 codegay

参考资料:

python模拟发送动弹
http://www.oschina.net/code/snippet_209614_21944

用Python进行SQLite数据库操作
http://www.cnblogs.com/yuxc/archive/2011/08/18/2143606.html

encrypted_value解密脚本
http://www.ftium4.com/chrome-cookies-encrypted-value-python.html

利用cookie劫持微博私信
https://segmentfault.com/a/1190000002569850

你所不知道的HostOnly Cookie
https://imququ.com/post/host-only-cookie.html
\"\"\"
import os
import sqlite3
import requests
from win32.win32crypt import CryptUnprotectData

def getcookiefromchrome(host=\'.oschina.net\'):
    cookiepath=os.environ[\'LOCALAPPDATA\']+r\"\\Google\\Chrome\\User Data\\Default\\Cookies\"
    sql=\"select host_key,name,encrypted_value from cookies where host_key=\'%s\'\" % host
    with sqlite3.connect(cookiepath) as conn:
        cu=conn.cursor()        
        cookies={name:CryptUnprotectData(encrypted_value)[1].decode() for host_key,name,encrypted_value in cu.execute(sql).fetchall()}
        print(cookies)
        return cookies

#运行环境windows 2012 server python3.4 x64 chrome 50
#以下是测试代码
#getcookiefromchrome()
#getcookiefromchrome(\'.baidu.com\')

url=\'http://my.oschina.net/\'

httphead={\'User-Agent\':\'Safari/537.36\',}

#设置allow_redirects为真,访问http://my.oschina.net/ 可以跟随跳转到个人空间
r=requests.get(url,headers=httphead,cookies=getcookiefromchrome(\'.oschina.net\'),allow_redirects=1)
print(r.text)

参考资料:

python模拟发送动弹

http://www.oschina.net/code/snippet_209614_21944

用Python进行SQLite数据库操作

http://www.cnblogs.com/yuxc/archive/2011/08/18/2143606.html

encrypted_value解密脚本

http://www.ftium4.com/chrome-cookies-encrypted-value-python.html

利用cookie劫持微博私信

https://segmentfault.com/a/1190000002569850

你所不知道的HostOnly Cookie

https://imququ.com/post/host-only-cookie.html

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...