python配合Fiddler获取windows app登录时生成cookie实例
工具Fiddler/python3
打开Fiddler,清空一下Fidder里面的请求记录

打开app,进行登录,注意Fiddler里的请求变化
在弹出app登录的时候Fiddler里已经有了四个请求,如下:

注意看一下第一个请求的URL中的信息 "login.do?",那需要分析的就是这个请求了
右键这个请求,copy->Headers only,然后把所有请求信息全部拿出来,请求信息如下,在请求的时候已经有了cookie信息,不知道cookie是从哪里生成的 #之后对比的时候发现这个cookie是上一次请求时的cookie(参考上一篇文章 http://www.cnblogs.com/Jacck/p/7704832.html),也就是说有个地方记录的最后的请求cookie信息然后下一次登录还带着这个cookie去请求登录
GET http://xxx.com/account/login.do?userId=xxx&token=xxx HTTP/1.1
Host: xxx.com
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.59 Safari/537.36
Accept-Encoding: gzip,deflate
Accept-Language: en-us,en
Cookie: xxx HTTP/1.1 200 OK
Server: nginx/1.2.2
Date: Sat, 21 Oct 2017 07:24:13 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: private
X-AspNetMvc-Version: 5.2
X-AspNet-Version: 4.0.30319
Set-Cookie: xxx; path=/; HttpOnly
X-Powered-By: ASP.NET
Content-Encoding: gzip
把请求的url单独拿出来放到浏览器中直接访问,显示信息如下,分析一下浏览器请求详细信息

Fiddler中刚才浏览器的请求在这

右键,Copy->Herders only,把请求信息拿到,如下
GET http://xxx.com/account/login.do?userId=xxx&token=xxx HTTP/1.1
Host: xxx.com
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie: qgqp_b_id=xxx; st_pvi=xxx; _qddaz=QD.emt8s7.goudx0.j8ubqjuz; pgv_pvi=xxx HTTP/1.1 200 OK
Server: nginx/1.2.2
Date: Sat, 21 Oct 2017 07:44:15 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: private
X-AspNetMvc-Version: 5.2
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Content-Encoding: gzip
对比一下app登录时候的请求信息,还是有些地方不一样,但是除了cookie的请求头都可以直接创建,试着把除cookie信息之外的请求头信息头都设置成一样再次发送请求
python 请求代码如下
import requests url = 'http://xxx.com/account/login.do?userId=xxx&token=xxx'
headers={
"Host":"xxx.com",
"Connection": "keep-alive",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.59 Safari/537.36",
"Accept-Encoding": "gzip,deflate",
"Accept-Language": "en-us,en" }
r = requests.get(url,headers=headers)
print (r.text)
请求结果如下

模拟登录信息失败,所以cookie信息一定要有,而这个cookie去哪里拿呢
试着把Fiddler里面登录成功的那个cookie拿出来带着那个cookie再请求一次#第一次用app登录 Fidder分析的第一个请求,在request headers里面加一个Cookie值,代码就不贴出来了
运行结果如下:

这是怎么回事呢? 带了Cookie也请求不到
去app中点击某个查询去看看他现在的Cookie是什么
app内显示网络不正常刷新了一下,然后去看看Fiddler里发生了什么
请求中又有了一个登陆请求,查看他的cookie是什么

对比了一下 Cookie中多了一个参数名字“ct” #应该是current time的意思吧
返回的时候
Set-Cookie又把一个参数修改掉了“cm”参数
python配合Fiddler获取windows app登录时生成cookie实例的更多相关文章
- 安卓,支付宝app登录时,提示 服务器安全证书已过期或不可信任,请问怎么解决
安卓,支付宝app登录时,提示 服务器安全证书已过期或不可信任,请问怎么解决 请把手机时间调成当前时间.
- APP登录时Token认证过程
1.App登录Token登录机制: 一般第一次安装App后,会让你进行注册后登录,而只要登录成功后,以后的每次启动App都是登录状态, 不需要每次启动时再登录.但有些App你若长期没有启动,它会提示你 ...
- Python使用wmi获取Windows相关信息
在使用Python获取Windows系统上的相关的信息可以使用WMI接口来获取, 什么是wmi? WMI是一项核心的Windows管理技术,WMI作为一种规范和基础结构,通过它可以访问.配置.管理和监 ...
- python wmi模块 获取windows内部信息
WMI (Windows Management Instrumentation) 模块可用于获取 Windows 内部信息,在使用Python获取Windows系统上的相关的信息可以使用WMI接口来获 ...
- 用PYTHON + PYWIN32 + WMI获取WINDOWS系统基本信息
网上原码,去了DECODE编码的问题. PyScripter这个PYTHON的IDE工具在WIN下表现不错哟. 感觉比SPYDER,ERIC,SUBLEME TEXT3之类的好用呀.. #!/usr/ ...
- 利用python 与 wmi 获取WINDOWS基本信息
#!/usr/bin/env python3.5 # -*- coding:utf8 -*- import platform import subprocess import wmi def serv ...
- 使用Fiddler获取手机app数据
参考资料:https://www.jianshu.com/p/9e05a2522758 Fiddler下载地址 https://www.telerik.com/download/fiddler
- php注册登录时生成的验证码
http://blog.sina.com.cn/s/blog_8173443e01012l82.html 记得我学php时第一件事就是研究登陆注册.当然,登陆少不了验证码.两年过去了,昨天突然想用个验 ...
- 有关WINDOWS XP登录密码的几种方法
网上关于破解WINDOWS XP登录密码的几种方法很多,但许多根本不行.我现在总结自己试过几种,这几种方法其实均比较菜的,但可行的.WINDOWS XP登录是由SAM 文件管理的,总体来说“山姆大叔” ...
随机推荐
- AxWebBrowser 实现的多进程浏览器 (一)
我们使用 C#/VB.NET 进行 Trident 内核浏览器编程,大多都是单进程的,当打开的页面较多时比较容易出现卡死等情况. 单进程浏览器简单示例: Public Class formBrowse ...
- Docker部署MySQL容器
从仓库下载镜像 sudo docker pull mysql:5.7 创建容器 docker run --name="mysql" \ -p 3306:3306 \ -v /U ...
- C++模板的实现(模板函数和模板类,附带模板实现顺序表和链表代码)
文章链接:https://blog.csdn.net/qq_38646470/article/details/80209469
- C#四则运算器(多态方法实现)
在上一节C#课上,我们学习了用类的继承的方式来做一个四则运算器,然而老师的代码在课上演示的效果并不理想,而且没有使用多态的思想实现,今天我们就来用多态的方式实现四则运算器. 1. 题目及要求 2. A ...
- Django中settings设计模式(单例模式)
配置文件: 需求:配置文件,默认配置和手动配置分开,参考django的配置文件方案,默认配置文件放在项目容器内部,只让用户做常用配置. /bin/settings.py(手动配置) PLUGIN_IT ...
- 将本地开发完的SDK代码上传到SVN上面:an error occurred while contacting the repository The server may be unreachable or the URL may be incorrect
将本地开发完的SDK代码上传到SVN上面:an error occurred while contacting the repository The server may be unreachabl ...
- maven 阿里仓库配置文件
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...
- 《UML大战需求分析》-读后感二
活动图将流成分解为一个一个的活动,通过活动的先后顺序来展示流程,而状态机图是从某个事物的状态是如何转变的角度来展示流程,首先确定事物,然后找出状态,状态之间的箭头叫转换,箭头上的文字说明了是什么事情导 ...
- HDU 3853 LOOPS 期望dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3853 LOOPS Time Limit: 15000/5000 MS (Java/Others)Me ...
- Results the mutual for the first time(alpha阶段总结)
由于前天听大家的成果展时,做得笔记不够完善,有一两个组找不到信息,如果没有评到的组望谅解. 分数分配: 由于组内某些原因,我们现重新分组: 试用版: 总结前阶段的工作: 在前一段时间,我们第一个spr ...