本人是一名PHP开发人员,鉴于公司产品临时安排给我抓取某APP里面的图片时。我第一时间想到的是 Python, 因为之前也接触过抓取某宝 某东的数据之类的,但是问了一下群里的大佬,介绍让我用 Fiddler。然后我就去搜索相关的教程以及使用方法。

Fiddler的教程我就不发了 上有一大堆

设置都设置好了,安卓证书也装好,测试浏览器 进行百度 在Fiddler上面可以看到,很开心好吧!

进入APP,APP显示没网,一张图片都没 查了很久好像是因为https证书过不了,因为该APP做了SSL PING

安卓不行 更换苹果

1,下载charles

https://www.charlesproxy.com/download/

Charles抓取android socket charles抓取App中的图片_PHP


2.启动charles安装证书 点击charles中的help­>SSL Proxying­>install charles Root certificate安装时注意 选择将所有证书存储到第三方根证书颁发机构

最后点击证书路径 看证书状态 显示改证书没有问题即可

Charles抓取android socket charles抓取App中的图片_https_02


Charles抓取android socket charles抓取App中的图片_https_03


选择存储机构这里,我不知道有什么区别,我选择的受信任的根证书颁发机构

Charles抓取android socket charles抓取App中的图片_输入框_04


3.手机端配置网络代理 需要和电脑端在同一个局域网

win+R 输入cmd 输入ipconfig查看ip地址

点击Proxy -》Proxy Settings查看端口号

Charles抓取android socket charles抓取App中的图片_PHP_05


Charles抓取android socket charles抓取App中的图片_SSL_06


Charles抓取android socket charles抓取App中的图片_https_07


Charles抓取android socket charles抓取App中的图片_输入框_08


4.苹果手机 在safari浏览器中输入: http://chls.pro/ssl

会自动提示下载 安装证书后 有弹窗选择Allow

安装好证书之后,需要在本级设置里面去进行信任该证书

Charles抓取android socket charles抓取App中的图片_PHP_09


Charles抓取android socket charles抓取App中的图片_PHP_10


5:关闭电脑的防火墙。或者让应用通过防火墙 自行设置6.此时抓包charles会显示unknown

需要配置抓取https请求

点击Proxy -> SSL Proxying Settings

Host输入框输入 *

Port输入框输入 *

Charles抓取android socket charles抓取App中的图片_SSL_11


Charles抓取android socket charles抓取App中的图片_PHP_12


通过这一系列的配置之后,神奇的是手机进入APP里面也有网,电脑Charles也没有出现unknown的情况。

个人猜想:会不会是该APP安卓版本做了SSL PING的验证,苹果版本没有做这方面的验证。

奈何本人新手 花了2-3天时间,也没搞懂这个SSL PING,

关于PHP代码我就不放出来了,无非就是里面抓取的接口,进行模拟访问,通过返回的JSON从而获取到该APP的商品名称、商品价格、商品图片、商品详情等!!!!