python3实现读取chrome浏览器cookie

作者:黑暗圣堂武士 时间:2023-10-18 13:18:44 

好几年前我在做一些自动化的脚本时,脑子里也闪过这样的想法:能不能直接把浏览器的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)


标签:python3,读取cookie
0
投稿

猜你喜欢

  • JavaScript图片放大镜效果

    2009-10-19 22:15:00
  • 查看Oracle的执行计划一句话命令

    2010-07-16 13:02:00
  • asp用err.raise自定义错误信息

    2007-09-12 19:38:00
  • RDFa介绍——构建更友好的web页面

    2009-09-19 17:01:00
  • 在windows下 1045 access denied for user

    2010-03-04 11:44:00
  • dir()、readdir()、scandir()和glob()四种遍历目录方法及性能分析

    2023-05-25 11:18:27
  • asp自动补全html标签自动闭合(正则表达式)

    2013-06-01 20:01:59
  • Bootstrap实现渐变顶部固定自适应导航栏

    2023-08-23 00:52:40
  • Python正则表达式匹配ip地址实例

    2023-06-13 15:06:12
  • 在数据库‘master’中拒绝CREATE DATABASE权限问题的解决方法

    2011-10-24 19:46:55
  • php网络安全中命令执行漏洞的产生及本质探究

    2023-05-30 05:34:31
  • 文章关键字替换带链接需要注意的两个问题

    2010-02-25 12:18:00
  • 合理设置内存让数据库与其他程序共存

    2009-05-21 16:24:00
  • asp网站生成静态页面攻略

    2007-11-04 15:09:00
  • Python tkinter进度条控件(Progressbar)的使用

    2023-08-01 20:24:21
  • FrontPage2002简明教程三:网页布局

    2008-09-17 11:19:00
  • MYSQL中取得最后一条记录

    2010-03-09 16:08:00
  • 50个常用sql语句 网上流行的学生选课表的例子

    2012-07-11 16:02:01
  • 用FrongPage设计网页花样

    2008-09-17 10:47:00
  • SQL Server转换为XQuery及反向转换

    2009-01-20 13:32:00
  • asp之家 网络编程 m.aspxhome.com