qpython3 读取安卓lastpass Cookies

之前我的博客写了python读取windows chrome Cookies,沿着同样的思路,这次本来想尝试读取安卓chrome Cookies,

但是可能是chrome的sqlite3版本比较高失败了,so改成读取lastpass 的Cookies。

背景介绍:

qpython3 是一个基于sl4a实现的能让python3跑在安卓手机上集成环境。

lastpass 是一个密码管理器,安卓版lastpass 内置了一个web浏览器。经分析lastpass的Cookies的表名,字段名与chrome一样,且value明文存储不加密。

requests 是一个python 第三方http库,qpython3中集成了。

sqlite3 是一个嵌入式数据库,很多软件和APP用到了sqlite。比如chrome lastpass浏览器用来存储cookies和访问记录之类的信息。

由于找不到好的方法让python代码以root权限读取其它APP数据的方法,

于是采用调用命令su -c cp 的方法直接把文件拷贝到SD卡再读取。

以下代码是qpython3下读出lastpass cookies并成功用于发送博客园闪存的例子:

运行环境 qpython3 安卓4.4 必须root 手机索尼L39H 安卓版lastpass,运行前需要在lastpass中登录一次博客园。

#-*-coding:utf8;-*-
#qpy:3
#qpy:console
import sqlite3
import os
import requests
from random import random
#path='/data/data/com.android.chrome/app_chrome/Default/Cookies'
path='/data/user/0/com.lastpass.lpandroid/app_webview/Cookies'
sd="/sdcard"

def sucp(source,dest):
  os.system("su -c cp -f %s %s" % ( source , dest ) )

def getcookies(host):
  sql="select host_key,name,value from Cookies where host_key= '%s'" % host
  cu=sqlite3.connect('/sdcard/Cookies').cursor()
  result=cu.execute(sql).fetchall()
  cookies={name:value for host_key,name,value in result}
  cu.close()
  print(cookies)
  return cookies

sucp(path,sd)#用root权限拷贝文件到sd卡目录下

#以下代码用来发送博客园闪存
url="http://ing.cnblogs.com/ajax/Ing/MobileIngSubmit"
httphead={'User-Agegnt':'Safari/537.36',}
data={"content":"来自qpython3 发送的闪存 %s" % random(),"publicFlag":1}

res=requests.post(url,headers=httphead,data=data,cookies=getcookies('.cnblogs.com')).text
print(res)

另一个反向思路的应用是可以实现程序用帐号密码登录成功后,把Cookies信息写到用户浏览器的Cookies文件里,这样可以不需要手动输入帐号密码。

或者也可以实现一个浏览器的cookies导入到另一个浏览器里。→_→或者同步?

(0)

相关推荐

  • Python使用cookielib模块操作cookie的实例教程

    cookielib是一个自动处理cookies的模块,如果我们在使用爬虫等技术的时候需要保存cookie,那么cookielib会让你事半功倍!他最常见的搭档模块就是python下的urllib和request. 核心类 1.Cookie 该类实现了Netscape and RFC 2965 cookies定义的cookie标准,基本可以理解为某一条cookie数据. 部分代码如下,很多属性是不是很眼熟? self.domain_initial_dot = domain_initial_dot

  • python通过cookie模拟已登录状态的初步研究

    对于那些需要在登录环境下进行的爬虫操作,模拟登陆或伪装已登录状态是一个刚需. 分析了网上关于模拟登录的例子,很多都基于用户名/密码发起一个post请求,遇到有图片验证码的,比较理想的方法是进行人工干预,同步发起一个图片验证码的请求,将图片写到本地,人工查看后进行输入. 既然,少不了人工干预,为何登录操作不全程人工进行,已登录后再把浏览器的Cookie信息全拷贝出来,通过爬虫伪造成一个已登录的浏览器呢? 我暂时试了试国内的几个大网站,发现都行得通,可以模拟浏览器进行登录之后的很多操作,包括签到,修

  • 玩转python爬虫之cookie使用方法

    之前一篇文章我们学习了爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了. 在此之前呢,我们必须先介绍一个opener的概念. 1.Opener 当你获取一个URL你

  • Python基于PycURL自动处理cookie的方法

    本文实例讲述了Python基于PycURL自动处理cookie的方法.分享给大家供大家参考.具体如下: import pycurl import StringIO url = "http://www.google.com/" crl = pycurl.Curl() crl.setopt(pycurl.VERBOSE,1) crl.setopt(pycurl.FOLLOWLOCATION, 1) crl.setopt(pycurl.MAXREDIRS, 5) crl.fp = Strin

  • python模拟登录并且保持cookie的方法详解

    前言 最近在爬行 nosec.org 的数据,看了下需要模拟登录拿到cookie后才能访问想抓的数据,重要的是 nosec.org 的登录页面 form 中有个 authenticity_token 字段每次访问登录页面都会自动生成,而且会和你的用户名,密码一样被POST到服务器. 经过一番研究后发现,直接访问网站登录界面的时候,服务器的响应头会有一个Set-Cookie字段,如下: _nosec_session=ZTlHNmxuZXE4R0s1UXpsVUxGRTNPblNBWFd2TXU4T

  • Python HTTP客户端自定义Cookie实现实例

    Python HTTP客户端自定义Cookie实现实例 几乎所有脚本语言都提供了方便的 HTTP 客户端处理的功能,Python 也不例外,使用 urllib 和 urllib2 可以很方便地进行 HTTP GET 和 POST 等各种操作.并且还允许以类似于插件的形式加入一些 handler ,来定制 request 和 response ,比如代理的支持和 cookie 的支持都是这样添加进来的.具体来说,通过如下方式构造一个 opener : opener = urllib2.build_

  • python使用urllib2实现发送带cookie的请求

    本文实例讲述了python使用urllib2实现发送带cookie的请求.分享给大家供大家参考.具体实现方法如下: import urllib2 opener = urllib2.build_opener() opener.addheaders.append(('Cookie','cookiename=cookievalue')) f = opener.open(http://example.com/) 希望本文所述对大家的Python程序设计有所帮助.

  • qpython3 读取安卓lastpass Cookies

    之前我的博客写了python读取windows chrome Cookies,沿着同样的思路,这次本来想尝试读取安卓chrome Cookies, 但是可能是chrome的sqlite3版本比较高失败了,so改成读取lastpass 的Cookies. 背景介绍: qpython3 是一个基于sl4a实现的能让python3跑在安卓手机上集成环境. lastpass 是一个密码管理器,安卓版lastpass 内置了一个web浏览器.经分析lastpass的Cookies的表名,字段名与chrom

  • 使用Python读取安卓手机的屏幕分辨率方法

    直接代码吧: import os import sys import json import re def _get_screen_size(): '获取手机屏幕大小' size_str = os.popen('adb shell wm size').read() if not size_str: print('请安装 ADB 及驱动并配置环境变量') sys.exit() m = re.search(r'(\d+)x(\d+)', size_str) if m: return "{height

  • php实现的Cookies操作类实例

    本文实例讲述了PHP实现的Cookies操作类及其用法,分享给大家供大家参考.具体分析如下: 一.功能: 1.保存,读取,更新,清除cookies数据. 2.可设置前缀. 3.强制超时控制. 4.cookies数据可以是字符串,数组,对象等. 二.用法: Cookies.class.php类文件如下: <?php /** Cookies class 保存,读取,更新,清除cookies数据.可设置前缀.强制超时.数据可以是字符串,数组,对象等. * Date: 2013-12-22 * Auth

  • Cookies的各方面知识(基础/高级)深度了解

    一,前言 Cookies想必所有人都了解, 但是未必所有人都精通.本文讲解了Cookies的各方面知识. 二,基础知识 1.什么是Cookies Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息. 例如,如果在用户请求站点中的页面时应用程序发送给该用户的不仅仅是一个页面,还有一个包含日期和时间的 Cookie,用户的浏览器在获得页面的同时还获得了该 Cookie,并将它存储在用户硬盘上的

  • JavaScript实现cookie的写入、读取、删除功能

    在没介绍正文之前,先给大家介绍Cookie的基础知识 首先了解什么是cookie "cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie 的值." cookie 是访问过的网站创建的文件,用于存储浏览信息,例如个人资料信息. 从JavaScript的角度看,cookie 就是一些字符串信息.这些信息存放在客户端的计算机中,用于客户端计算机与服务器之间传递信息. 在

  • 微信企业号开发之微信考勤Cookies的使用

    在上篇文章给大家介绍了微信企业号开发之微信考勤百度地图定位,接下来通过本文学习微信企业号开发之微信考勤Cookies的使用,具体内容如下. 使用微信考勤,每次使用微信企业号开发:微信用户信息和web网页的session的关系这个里边的方法,调用微信的接口,有点慢,微信官方也推荐使用Cookies,但如何使用Cookies,自己却一直没有搞清楚. 原来一直以为在服务端获取客户端的数据有两个方法,一种就是查询字符串放在URL上,一种就是放在form中,post提交,自己以前也使用过但主要是在客户端使

  • ASP.NET中Cookie的使用方法

    Cookie 为 Web 应用程序保存用户相关信息提供了一种有用的方法.例如,当用户访问站点时,可以利用 Cookie 保存用户首选项或其他信息,这样,当用户下次再访问站点时,应用程序就可以检索以前保存的信息. 从技术上讲,Cookie是小段保存在客户端的数据(如果你安装的是XP,可以看一下<安装Windows的盘>:\Documents and Settings\<用户名>\Cookies文件夹).用户访问网站的时候,网站会给用户一个包含过期时间的Cookie,浏览器收到Cook

  • JavaScript 应用类库代码

    /* $ 获取指定对象 @element 对象名 可以使用对象名集合,返回值为对象的集合 如果您使用了 Prototype 类库, 请把该函数注释掉 Sams_object.Get() 中同样实现该函数的所有功能 */ function $(element) {   if (arguments.length > 1) {     for (var i = 0, elements = [], length = arguments.length; i < length; i++)       el

  • asp.net各种cookie代码和解析实例

    Cookie是一段文本信息,在客户端存储 Cookie 是 ASP.NET 的会话状态将请求与会话关联的方法之一.Cookie 也可以直接用于在请求之间保持数据,但数据随后将存储在客户端并随每个请求一起发送到服务器.浏览器对 Cookie 的大小有限制,因此,只有不超过 4096 字节才能保证被接受. 编写Cookie 复制代码 代码如下: //方式1:Response.Cookies["username"].value="mike";Response.Cookie

  • thinkphp浏览历史功能实现方法

    本文实例讲述了thinkphp浏览历史功能实现方法,分享给大家供大家参考.具体实现方法分析如下: 历史浏览功能都是使用了cookie功能记录用户信息放到了本地了,这样我们只要读取存储在cookies中的值就可以了,下面来给大家介绍一个基于thinkphp 实现浏览历史功能例子. 就像浏览器一样,能够记录访问了哪些页面,这样能够减少时间,下面我们实现浏览历史的功能. 1.在你需要记录浏览数据的产品或新闻页面,记录cookie需要保存的信息,例如下面这行代码,把页面ID,产品名称,价格,缩略图,网址

随机推荐