本人是一名PHP开发人员,鉴于公司产品临时安排给我抓取某APP里面的图片时。我第一时间想到的是 Python, 因为之前也接触过抓取某宝 某东的数据之类的,但是问了一下群里的大佬,介绍让我用 Fiddler。然后我就去搜索相关的教程以及使用方法。
Fiddler的教程我就不发了 上有一大堆
设置都设置好了,安卓证书也装好,测试浏览器 进行百度 在Fiddler上面可以看到,很开心好吧!
进入APP,APP显示没网,一张图片都没 查了很久好像是因为https证书过不了,因为该APP做了SSL PING
安卓不行 更换苹果
1,下载charles
https://www.charlesproxy.com/download/
2.启动charles安装证书 点击charles中的help>SSL Proxying>install charles Root certificate安装时注意 选择将所有证书存储到第三方根证书颁发机构
最后点击证书路径 看证书状态 显示改证书没有问题即可
选择存储机构这里,我不知道有什么区别,我选择的受信任的根证书颁发机构
3.手机端配置网络代理 需要和电脑端在同一个局域网
win+R 输入cmd 输入ipconfig查看ip地址
点击Proxy -》Proxy Settings查看端口号
4.苹果手机 在safari浏览器中输入: http://chls.pro/ssl
会自动提示下载 安装证书后 有弹窗选择Allow
安装好证书之后,需要在本级设置里面去进行信任该证书
5:关闭电脑的防火墙。或者让应用通过防火墙 自行设置6.此时抓包charles会显示unknown
需要配置抓取https请求
点击Proxy -> SSL Proxying Settings
Host输入框输入 *
Port输入框输入 *
通过这一系列的配置之后,神奇的是手机进入APP里面也有网,电脑Charles也没有出现unknown的情况。
个人猜想:会不会是该APP安卓版本做了SSL PING的验证,苹果版本没有做这方面的验证。
奈何本人新手 花了2-3天时间,也没搞懂这个SSL PING,
关于PHP代码我就不放出来了,无非就是里面抓取的接口,进行模拟访问,通过返回的JSON从而获取到该APP的商品名称、商品价格、商品图片、商品详情等!!!!