一、安装和配置Charles
1、下载和安装Charles。可以从Charles官网下载Windows或Mac版本的Charles,安装完成后打开Charles。
2、配置代理。在菜单栏选择Proxy -> Proxy Settings,可以看到Proxy Settings弹窗,选择HTTP Proxy选项卡,将Port设置为8888(默认端口),勾选Enable transparent HTTP proxying和Enable transparent SSL proxying两个选项,保存配置后关闭弹窗。
3、安装SSL证书。在菜单栏选择Help -> SSL Proxying -> Install Charles Root Certificate,然后按照提示完成安装。
二、连接微信小程序
1、打开微信小程序,在预设好的界面中长按小程序图标,选择“查看公众号”或“关于XXX(小程序名称)”。
2、在打开的公众号或小程序详情界面中,选择“网络诊断”或“开发者工具”。
3、在网络诊断或开发者工具的界面中,选中“详情”或“调试”,在选项卡中可以看到“Host”和“Port”两个参数,将这两个参数复制。
4、在Charles的菜单栏中选择Proxy -> SSL Proxying Settings,在SSL Proxying Settings弹窗中添加一个新规则,输入Host和Port参数,并勾选Enable SSL Proxying选项。
三、启动Charles抓包
1、在Charles的菜单栏中,选择Proxy -> Start Recording选项,开始抓包。
2、回到微信小程序,进行需要抓包的操作,例如访问某个页面、进行某个操作等。
3、完成抓包后,在Charles的左侧窗口中选择相关的请求,右侧窗口中可以查看请求和响应的详细信息,包括请求头、响应头、请求体和响应体等。
四、分析抓包结果
1、分析请求头。请求头中包含了请求的方法、请求的URL、请求的协议等信息。
<method>GET</method>
<path>/api/user/checkToken</path>
<scheme>https</scheme>
2、分析请求体。请求体中包含了请求提交的参数及数据。
<entry>
<string>token</string>
<string>xxx</string>
</entry>
3、分析响应头。响应头中包含了响应的状态码、响应的状态信息、响应的协议等信息。
<status>200</status>
<message>OK</message>
<scheme>https</scheme>
4、分析响应体。响应体中包含了响应的数据及内容。
<entry>
<string>errCode</string>
<number>1000</number>
<string>errMsg</string>
<string>成功</string>
</entry>
五、常见问题
1、无法抓包。检查是否已经正确配置Charles代理和SSL证书,并确保已经添加好了微信小程序的Host和Port规则。
2、抓取的包不全。确保已经正确启动了Charles的抓包功能,并且在进行操作时应该尽量保持屏幕不锁屏,以避免中断网络连接。
3、请求出现错误。检查请求和响应的详细信息,查看是否出现了请求出错或返回错误的情况,并调整程序代码中相应的问题。