Charles抓取https请求详解

大家好,我是TT,互联网测试行业多年,没有牛逼的背景,也没有什么可炫耀的,唯独比他人更努力,在职场打拼。遇到过的坑,走过的弯路,愿意与大家分享,分享自己的经验,少走弯路。首发于个人公众号【测试架构师】

先关注公众号:测试架构师,回复关键词:charles,可以获取全套视频教程哦!

原文如下: 


 

现在基本大部分网站都使用了https,所以要想抓到https的请求,首要任务是先有工具:charles、fiddler,先介绍下charles针对https请求的抓取方法,此方法兼容windows和mac用户(mac用户方法类似,如果有必要,请关注微信公众号:测试架构师,留言给我。后续我会专门再做整理)。

1、 windows下安装charles,看到此文章的用户相信都已经安装了charles,如果还真的没安装,麻烦就自行搜索,进行安装了,打开charles(我使用的charles版本是3.11.4),再继续浏览。

 

2、 ok,charles已准备完成,接下来就要配置charles证书:

 

之后会弹出安装证书:

 

点击安装,一路下一步,直到提示“导入成功”

 

此时证书还是不被信任的,让不信任变成信任:打开IE浏览器—>工具—>Internet选项—>内容—>证书—>把中级证书颁发机构中的charles证书导出来—>再把导出来的证书导入到受信任的根证书颁发机构中。这样就ok了。

 

 

3、 在移动设备上配置手机代理并安装证书

在手机上设置代理:设置—>无线网络,设置服务器ip和端口号:

 

然后,手机安装证书:

 

会弹出一个提示框,如下:

 

然后手机浏览器输入如上地址:http://charlesproxy.com/getssl会弹出如下页面:

 

点击安装即可,安装完成后就变成已验证,如下:

 

为什么ios手机安装好fiddler证书/charles证书还是抓不到https请求?

 

最近有不少人有此困惑,

 

因为你的ios系统应该是10.0以上的系统,

 

在手机系统设置---关于手机----证书信任设置,在此页面把证书开启即可;

 

下面以访问百度wap站点为例:

 

上图看到,访问百度wap站点还是看不到https的请求数据,下面还需要再继续配置:

 

                                                  请先微信扫码关注微信公众号:测试架构师,配置成功概率会更高^_^

                                                         

 

点击SSL Proxying Settings,弹出下面的框,输入Host填写要抓取的ip或域名,port填写443即可。

 

设置完成后,重新方位百度wap站点就可以抓取到https请求了

 

如果以上还没解决,请关注我的微信公众号:测试架构师,后台留言找到我!

推荐书籍:

 


 

                                                               了解更多请关注微信公众号:测试架构师

                                                         


 

 
posted @ 2017-05-05 13:03  测试架构师TT  阅读(78921)  评论(7编辑  收藏  举报