zoukankan      html  css  js  c++  java
  • 读取google浏览器本地cookie

      浏览器与服务器建立连接时,可以直接在请求头或者响应报头中读取cookie,但浏览器关闭时,会把cookie保存在本地文件中,

    存放的形式是以 sqlite3 数据库形式存在,以后是获取google本地文件cookie的方法;

    import sqlite3
    import win32crypt
    import os
    def parseGoogleCookiefile(cookiesFiles,host=''):
    """
    :param cookiesFiles: cookies文件本地路径
    :param host: 服务器域名
    :return: type:list
    """
    cookies = []
    if not os.path.exists(cookiesFiles): #判断cookie文件是否存在
    print("cookies files not exist!")
    else:
    con = sqlite3.connect(cookiesFiles)
    conner = con.cursor()
    if host=="":
    sql="select host_key,name,encrypted_value,path from cookies" #由于cookie文件是sqlite类型,一个文件相当于一个表,sql
    for host_key, name, encrypted_value, path in conner.execute(sql).fetchall(): #遍历查询的所有结果
    parameter=[]
    parameter.append("domain : %s"%host_key)
    parameter.append("name : %s"%name)
    parameter.append("values : %s"%win32crypt.CryptUnprotectData(encrypted_value)[1].decode()) #将byte类型转译
    if len(conner.execute(sql).fetchall())<=1:
    cookies=parameter
    else:
    cookies.append(parameter)
    else:
    sql = "select host_key,name,encrypted_value from cookies where host_key='%s'" % host
    #cookies = {name: win32crypt.CryptUnprotectData(encrypted_value)[1].decode() for host_key, name, encrypted_value in conner.execute(sql).fetchall()}
    for host_key, name, encrypted_value in conner.execute(sql).fetchall():
    parameter=[]
    parameter.append("domain : %s" % host_key)
    parameter.append("name : %s" % name)
    parameter.append("values : %s" % win32crypt.CryptUnprotectData(encrypted_value)[1].decode())
    if len(conner.execute(sql).fetchall())<=1:
    cookies=parameter
    else:
    cookies.append(parameter)
    print(cookies)
    return cookies

    if __name__=="__main__":
    #parseGoogleCookiefile(r"C:\UsersliuwqAppDataLocalGoogleChromeUser DataDefaultCookies",'www.baidu.com')
    parseGoogleCookiefile(r"C:\UsersliuwqAppDataLocalGoogleChromeUser DataDefaultCookies")



  • 相关阅读:
    microsoft.extensions.logging日志组件拓展(保存文本文件)
    Winform 窗体皮肤美化_IrisSkin
    MailKit/MimeKit 发送邮件
    Winform 美化
    HTML CSS布局定位
    Newtonsoft.Json使用技巧
    Javascript 日历插件
    非靜態初始化塊與夠着函數的 執行順序
    java中堆栈的功能作用 以及區別(搜集)
    Java中数据类型相互转化
  • 原文地址:https://www.cnblogs.com/whitemouseV2-0/p/12623932.html
Copyright © 2011-2022 走看看