本文主要是介绍接口测试--------------------Charles抓包及常见问题解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介
Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用,安装Charles的时候要先装好Java环境。
Charles是在 常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 HTTP协议。
Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。(可以自行网上查找破解版软件)
Charles 主要的功能包括:
截取 Http 和 Https 网络封包。
支持重发网络请求,方便后端调试。
支持修改网络请求参数。
支持网络请求的截获并动态修改。
支持模拟慢速网络。
1. Charles安装
前提先安装配置好Java环境,官网下载安装Charles:https://www.charlesproxy.com/download/
2. HTTP抓包
(1)查看电脑IP地址
方法一: 打开”运行”(快捷键:win+R键;或者在任务栏的”搜索”按钮中查找并点击”运行”),输入“cmd”后进入命令行窗口,在命令行窗口中输入”ipconfig”命令查看IP
方法二: 在charles中查看 :Help -> Local IP Address
(2)Charles代理设置
接下来打开Charles的代理设置:Proxy->Proxy Settings,设置一下端口号,默认的是8888,这个只要不和其他程序的冲突即可,并且勾选Enable transparent HTTP proxying。
(3)在手机设备、模拟器或者远程浏览器上设置代理,抓取手机设备上的请求包(手机和电脑必须在同一个局域网内,并关闭电脑防火墙、其他代理或者翻墙软件)
第一步:在手机wifi 上设置代理 -> 长按无线网络-->修改网络-->高级选项-->代理 手动-->手动输入输入IP、端口号
服务器IP:PC机器的IP(通过之前介绍的查看IP的方法)
端口号:8888(通过之前介绍的查看端口的方法)
第二步:Charles弹出询问“allow”或者“deny”,点击“allow”按钮允许;出现手机的HTTP请求列表
安装证书
第三步:抓取https数据需要在手机上安装证书,HTTPS的抓包需要在HTTP抓包基础上再进行设置
如果我们需要在iOS或Android机器上截取 Https 协议的通讯内容,还需要在手机上安装相应的证书。
设置前抓包HTTPS接口显示unknown(图左),设置后接口正常展示,如下图右
如果你发现返回的是乱码,首先看是在http请求还是ht
这篇关于接口测试--------------------Charles抓包及常见问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!