前言:网页的数据一般可以直接通过network来查看其发送的请求url,爬取较为容易。但是对于app来说,不能直接看到它的url,就需要有抓包工具。

1 fiddler介绍

fiddler是一个web调试工具,能够抓取客户端和服务端之间的交互数据。fiddler是学习http协议的一个很好的工具。其本质是一台web代理服务器,也就是讲原本客户端和服务端直接是直接请求,现在是在它们中间加上了一个代理服务器进行中转。代理地址:127.0.0.1,端口:8888。当Fiddler启动后将自己变成一个代理服务器,这个代理服务器默认监听127.0.0.1:8888.然后打开IE的时候,IE浏览器会以127.0.0.1:8。 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。

2 工作原理

1)fiddler截获客户端发送的服务器https请求, 两者之间此时还未建立握手
2)fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥
3)fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事
4)客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获
5) fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥
6)fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信
7) fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。
8)客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文

3 手机抓包

fiddler已经可以获取到客户端发送的请求,那么可以将电脑设置成为手机的网络代理,手机的所有请求发送到电脑,电脑的请求发送给fiddler,fiddler发送给服务端。
具体的操作如下:
1)在fiddler中option选择capture https connects(捕获https连接),connections当中选择allow remote computers to connect。
2)确保手机和电脑位于同一个局域网中,连接在同一个wifi之下就可以,并且查看电脑的ip,将手机的网络代理设置成电脑ip,端口为8888。
3)通过浏览器访问ip:端口下载ca证书,并安装。
设置完成后,就在fiddler当中查看app发送的请求数据。

利用爬虫获取app数据相关推荐

  1. 利用爬虫获取猫眼电影热门前100数据

    利用爬虫获取猫眼电影热门前100数据 实现方法 1:访问网站,获取页面源码 2:解析页面 ,得到想要的数据 3:循环爬取多个页面 4:把数据写入本地文件 ''' 需求:爬取猫眼电影前100的电影信息 ...

  2. python爬虫获取基金数据2

    用sklearn分析基金数据<1> python爬虫获取基金数据<2> 数据预处理:数据清洗.生成样本数据<3> 用sklearn训练样本数据<4> 用 ...

  3. python Chrome + selenium自动化测试与python爬虫获取网页数据

    一.使用Python+selenium+Chrome 报错: selenium.common.exceptions.SessionNotCreatedException: Message: sessi ...

  4. 男子利用爬虫删公司数据被捕、欧洲零售巨头被勒索2.4亿|11月9日全球网络安全热点

    安全资讯报告 旋风行动对Clop勒索软件团伙造成打击 一项代号为"旋风行动"的为期30个月的国际执法行动以Clop勒索软件团伙为目标,导致此前报道的六名成员在乌克兰被捕.6月,Bl ...

  5. 利用Tushare获取金融数据

    利用Tushare获取金融数据 开发背景 Tushare社区 Tushare安装 Tushare使用 Tushare获取金融数据 1.获取A股列表 2.获取单只A股行情数据 3.获取多只A股数据 4. ...

  6. win摄像头怎么在linux,如何利用Video4Linux获取摄像头数据

    Video4Linux是Linux下用于获取视频和音频数据的API接口,在这篇文章中,着重阐述如何利用Video4Linux获取摄像头数据,以实现连续影像的播放. 1. 摄像头的安装 在 Linux下 ...

  7. 淘宝H5接口获取app数据6.0格式

    淘宝H5接口获取app数据6.0格式 公共参数: 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) secret String 是 调用密钥 api_na ...

  8. Python Appium 模拟人为操作获取app数据

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.appium是什么? 二.使用步骤 1.准备环境 2.实现思路 3.项目实现 总结 前言 用appium 模拟人滑 ...

  9. 【Power Automate系列教程】利用API获取JSON数据定时每日自动写入List

    利用API获取JSON数据定时每日自动写入List 在知识星球的后台有个看数据的界面: 通过简单的抓包可以看到是个json数据,那么就有了想法! 获取到请求的api,发现规律: https://api ...

最新文章

  1. 转:一个android开发者独立开发社交app全过程
  2. python 寻找旋转排序数组中的最小值
  3. 2021 4 21 管理心得
  4. VS2010下使用dmp文件和pdb文件定位到dll中崩溃位置的方法
  5. jmeter参数化之用户参数
  6. [转载]VirtualBox网络配置详解
  7. c均值聚类matlab程序_机器学习笔记-9-聚类
  8. Myeclipse8.5 反编译插件 jad 安装
  9. php redis 用户会话,使用Redis保存用户会话Session详解
  10. html标签之间去掉空白,html – 减少两个标签之间的空白差距
  11. jQuery.Deferred exception: e.indexOf
  12. 深度卷积生成对抗网络(DCGAN)原理与实现(采用Tensorflow2.x)
  13. 【linux】最常用 150 个Linux命令汇总
  14. spring读取配置文件
  15. 终于实现了 SpringBoot+WebSocket实时监控异常....
  16. 我的第一场比赛——金马五校赛
  17. iOS 删除本地文件
  18. 捷普服务器群组防护系统,捷普入侵防御系统
  19. 从零开始学Java编程!南通java招聘
  20. 【matlab】自定义颜色和线形绘图

热门文章

  1. tcl/tk实例详解——eval
  2. 清北学堂 2017-10-01
  3. Excel 删除数据temp 恢复
  4. 场效应管 - MOSFET
  5. 初识C语言 二(数据类型、变量和常量)
  6. 备份方案技术及应用【10】
  7. #5.2探讨时空同时考虑的相关理论的软肋
  8. 网络服务器带宽Mbps、Mb/s、MB/s有什么区别?10M、100M到底是什么概念?
  9. 【Spark Streaming】(四)基于 Spark Structured Streaming 的开发与数据处理
  10. 探索“发电巨兽”在新基建下,如何拯救限电问题?