工具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实例的更多相关文章

  1. 安卓,支付宝app登录时,提示 服务器安全证书已过期或不可信任,请问怎么解决

    安卓,支付宝app登录时,提示 服务器安全证书已过期或不可信任,请问怎么解决 请把手机时间调成当前时间.

  2. APP登录时Token认证过程

    1.App登录Token登录机制: 一般第一次安装App后,会让你进行注册后登录,而只要登录成功后,以后的每次启动App都是登录状态, 不需要每次启动时再登录.但有些App你若长期没有启动,它会提示你 ...

  3. Python使用wmi获取Windows相关信息

    在使用Python获取Windows系统上的相关的信息可以使用WMI接口来获取, 什么是wmi? WMI是一项核心的Windows管理技术,WMI作为一种规范和基础结构,通过它可以访问.配置.管理和监 ...

  4. python wmi模块 获取windows内部信息

    WMI (Windows Management Instrumentation) 模块可用于获取 Windows 内部信息,在使用Python获取Windows系统上的相关的信息可以使用WMI接口来获 ...

  5. 用PYTHON + PYWIN32 + WMI获取WINDOWS系统基本信息

    网上原码,去了DECODE编码的问题. PyScripter这个PYTHON的IDE工具在WIN下表现不错哟. 感觉比SPYDER,ERIC,SUBLEME TEXT3之类的好用呀.. #!/usr/ ...

  6. 利用python 与 wmi 获取WINDOWS基本信息

    #!/usr/bin/env python3.5 # -*- coding:utf8 -*- import platform import subprocess import wmi def serv ...

  7. 使用Fiddler获取手机app数据

    参考资料:https://www.jianshu.com/p/9e05a2522758 Fiddler下载地址   https://www.telerik.com/download/fiddler

  8. php注册登录时生成的验证码

    http://blog.sina.com.cn/s/blog_8173443e01012l82.html 记得我学php时第一件事就是研究登陆注册.当然,登陆少不了验证码.两年过去了,昨天突然想用个验 ...

  9. 有关WINDOWS XP登录密码的几种方法

    网上关于破解WINDOWS XP登录密码的几种方法很多,但许多根本不行.我现在总结自己试过几种,这几种方法其实均比较菜的,但可行的.WINDOWS XP登录是由SAM 文件管理的,总体来说“山姆大叔” ...

随机推荐

  1. yum 执行不了, 解决方法

    在执行yum命令时忽然发现出现以下报错: 1 2 3 4 5 # yum list File "/usr/bin/yum", line 30 except KeyboardInte ...

  2. Unity扩展编辑器三

    Scene视图是编辑游戏模型的地方,其实它还可以进行编辑,如下图所示,我给Scene视图做了简单的编辑 Scene视图的扩展是基于对象的,意思是你必须在Hierarchy视图中选择一个对象才行,Hie ...

  3. Unity 实现一个简单的 TPS 相机

    效果如下: 代码如下: public class TPSCamera : MonoBehaviour { /// <summary> /// 目标对象 /// </summary&g ...

  4. SmartRaiden 和 Lighting Network 进行去中心化跨链原子资产交换

    作者介绍 虫洞社区·签约作者 steven bai 前言 如果能够进行以太坊和比特币跨链原子资产交换,是不是一件很酷的事情? 目前链下的扩容方式有很多,最广为人知的就是比特币的闪电网络和以太坊的雷电网 ...

  5. Windows 8.1 "计算机" 中文件夹清理

    计算机 win8.1 也叫这台电脑 清理文件夹 保留磁盘分区图标 注册表清理 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ ...

  6. split命令详解

    基础命令学习目录首页 原文链接:https://blog.csdn.net/lkforce/article/details/71547313 Linux中的文件,特别是日志文件,特别大了不好打开,可以 ...

  7. JS中判断对象是不是数组的方法

    JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Arra ...

  8. js备忘录2

    JavaScript 的类型分为两类,分别是原始类型和对象类型 其中原始类型中只有数字.字符串和布尔型,和java中的有些不一样 null和undefined不是基本数据类型中的某一种 对象是prop ...

  9. js循环复制一个div

    <html> <head> <title>Test of cloneNode Method</title> <script type=" ...

  10. 实验五Java网络编程及安全

    实验五 Java网络编程及安全 结对伙伴:20135231林涵锦(负责服务器方)http://www.cnblogs.com/20135213lhj/  实验目的与要求: 1.掌握Java网络编程的方 ...