博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3读取chrome浏览器cookies
阅读量:7196 次
发布时间:2019-06-29

本文共 1744 字,大约阅读时间需要 5 分钟。

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

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

直接从浏览器中取出cookies,有以下好处和用途:

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

使用到软件的sqlite3的图形管理工具有:

SQLiteDatabaseBrowserPortable
sqlitespy

使用到的python库有:

sqlite3 python标准库,不需要下载安装

pywin32 pywin32是python版的windows API库,让python可以调用各种各样的windows API,代码中用到的win32crypt就是属于pywin32库的一部分。

建议手动下载对应版本pywin32安装

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

看代码:

"""python3从chrome浏览器读取cookieget cookie from chrome2016年5月26日 19:50:38 codegay"""import osimport sqlite3import requestsfrom win32.win32crypt import CryptUnprotectDatadef 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模拟发送动弹

用Python进行SQLite数据库操作

encrypted_value解密脚本

利用cookie劫持微博私信

你所不知道的HostOnly Cookie

转载于:https://www.cnblogs.com/gayhub/p/pythongetcookiefromchrome.html

你可能感兴趣的文章
自己制作QQ空间音乐的具体方法
查看>>
Java:多线程,CyclicBarrier同步器
查看>>
思念是一种美丽的孤独
查看>>
Android中的Interpolator
查看>>
【scrapy】使用方法概要(二)(转)
查看>>
JS 中Promise 模式
查看>>
静态资源的gzip
查看>>
js performance
查看>>
〖Linux〗zigbee实验之cc2430的cc debugger固件升级实录
查看>>
数组前半部分和后半部分有序的全排序
查看>>
动态规划法的一般方法
查看>>
在 Xen 虚拟机下修改系统当前时间
查看>>
Spider Studio 数据挖掘集成开发环境
查看>>
<<.NET B/S 架构实践>> 几种概念区别 - 算法、设计模式、企业应用架构模式、架构模式...
查看>>
SilverLight自定义ImageButton
查看>>
关于PHP写的投票网站之刷票终结版
查看>>
使用ActivityGroup来切换Activity和Layout
查看>>
网上收集的网页清理浮动方法大全及经验总结
查看>>
微信支付
查看>>
【ipython技巧】使用shell命令
查看>>