python3实现读取chrome浏览器cookie
作者:黑暗圣堂武士 发布时间:2023-10-18 13:18:44
标签:python3,读取cookie
好几年前我在做一些自动化的脚本时,脑子里也闪过这样的想法:能不能直接把浏览器的cookies取出来用呢?
直到昨天看到代码《python模拟发送动弹》,想起来当年我也曾经有类似的想法没能完成,那就优先拿这个练手,之后的代码也会用这个功能。
直接从浏览器中取出cookies,有以下好处和用途:
1、不需要配置用户密码,直接读出浏览器中cookies就得到一样的身份,用来完成各种自动化操作。
2、部分网站登录会更新Session,会导致之前成功登录的Session失效,与浏览器使用相同的Session,不用进行登录操作,不会互相挤下线。
3、全是废话,我不想写了,行吗?
使用到软件的sqlite3的图形管理工具有:
SQLiteDatabaseBrowserPortable
sqlitespy
使用到的python库有:
sqlite3 python标准库,不需要下载安装
pywin32 pywin32 windows的API库,让python可以调用各种各样的windows API,代码中用到的win32crypt就是属于pywin32库的一部分。 建议手动下载对应版本pywin32安装
requests requests是一个相对比较简单易用的http库,用来代替urllib23之类的标准库,使用命令安装pip install requests
看代码:
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)
0
投稿
猜你喜欢
- python中eval函数的用法十分的灵活,这里主要介绍一下它的原理和一些使用的场合。下面是从python的官方文档中的解释: &
- 目录1. threding模块创建线程对象2. threding模块创建多线程3. 多线程的参数传递4. 线程产生的资源竞争1. thred
- 一、浮点数是什么?浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。浮点数在计算机中主要用来表示小数,浮点
- 先看一个需求from collections import defaultdict"""需求: 统计user_
- 当你连接一个MySQL服务器时,你通常应该使用一个口令。口令不以明文在连接上传输。所有其它信息作为能被任何人读懂的文本被传输。如果你担心这个
- 如何用SA-FileUp上传多个文件?表单处理: <%@&nbs
- 先新建一组散点充当坐标轴为了比较直观地展示旋转过程,这里通过散点来新建三个坐标轴,通过对这三个坐标轴的转动,来直观地展现转动矩阵对坐标变换的
- 本文实例为大家分享了python机器学习实现决策树的具体代码,供大家参考,具体内容如下# -*- coding: utf-8 -*-&quo
- 关于维卷积的理解功能一维卷积一般用于处理文本数据,常用语自然语言处理中,输入一般是文本经过embedding的二维数据。定义tf.layer
- 这边我是需要得到图片在Vgg的5个block里relu后的Feature Map (其余网络只需要替换就可以了)索引可以这样获得vgg =
- 我们将研究一种判别式分类方法,其中直接学习评估 g(x)所需的 w 参数。我们将使用感知器学习算法。感知器学习算法很容易实现,但为了节省时间
- 介绍Matplotlib是Python中使用最广泛的数据可视化库之一。无论是简单还是复杂的可视化项目,它都是大多数人的首选库。在本教程中,我
- 需求:NMS中的IOU相关,是选择一个最大或者可信度最高的框框保留。而我们现在试需要将重叠框框合并为一个大的框框,所以不能直接用上面的。并且
- javascript中ele.getBoundingClientRect():获取一个元素相对于浏览器视口的的坐标(无论父元素定位与否),返
- 接口性能测试时,接口请求参数是根据一定的规则拼接后进行MD5加密后再进行传参,因此借助于python脚本实现,则可以有效提升测试效率。1.分
- 最近在学习正则,一些比较有用的东西怕忘记,记下来,比较乱,想一条记录一条:正则表达式在线测试//匹配文本,这个偶尔比较好用,但是要小心字符中
- 最近接到一个任务,就是用django后端,前段用vue,做一个普通的简单系统,我就是一搞后端的,听到vue也是比较震惊,之前压根没接触过vu
- 注:所有文字,除注明网站类型外,其他均针对企业站点.请随时注意留言,若修改则会在首页提示文字里标注.若牵扯到业务方面的问题,我可能不会做过多
- vue-router切换组件时使组件不销毁默认地,使用vue-router切换组件时,离开的组件会被销毁,新进入地组件会创建。那么,有时候,
- 需求需要检查多个端口是否开放,没有找到第三方工具和服务来快速测通,就自己用python写了个脚本.原理是通过telnet来实现的,仅支持tc