Charles反向代理是提供一个端口转发的功能,用于除IE外发出的HTTP请求,例如需要跟踪Smartbi服务器与XMLA服务器之间的通信、Smartbi SDK与服务器之间通信等。如下示例
录制过程说明:在网络互通的情况下,Charles可以作为反向代理的工具包,比如说在我的电脑装charles,然后我的电脑代理smartbi的域名,最后项目的开发环境对smartbi的调用地址/或者用户请求smartbi的地址改成我的电脑IP和端口号进行访问,最终实现请求抓取。
Smartbi服务器安装在A计算机上,IP地址为:192.168.1.10,端口号为:15000。
现移动端访问smartbi出现错误,需要录制移动端的HTTP请求。
步骤如下:
- 找一台其他计算机,如计算机B,其IP地址为192.168.1.137
- 在计算机B上安装charles,并启动
- 选中charles上的"Proxy"-》"Reverse Proxies",进入反向代理设置界面
- 反向代理设置界面如下,点击"Add"按钮,新建反向代理设置
- 设置反向代理的端口号,IP地址等信息。
其中 Local Port是指计算机B的一个空闲端口,如本例中使用8080;
Remote Host是指smartbi服务的IP,即计算机A的IP 192.168.1.10;
Remote Port是指smartbi服务的端口号,在本例中访问smartbi的端口号为15000
点击OK保存反向代理设置 - 上一步点击OK之后会出现反向代理列表窗口,勾选我们上一步设置的反向代理,点击ok启用
- 在任意一台计算机或者移动端上,通过http://计算机B的IP:反向代理中设置的Loal Port端口/smartbi,可以访问到smartbi服务。本例中通过在浏览器或者移动端的服务器设置上输入http://192.168.1.137:8080/smartbi访问
注:访问是需要写IP,不能写localhost。 - 则在charles中会监测到反向代理访问,首次会弹出是否允许访问,选择'Allow'按钮,允许访问
- 则在计算机B上的charles就可以录制到HTTP请求
- 示例:录制多维分析报错问题的Charles反向代理可参考wiki文档:通过Charles代理访问多维数据库服务器
- 在上述配置后,如果是第三方调用SDK,SDK的代码连接smartbi要使用步骤7的地址,这样就可以在charles中记录第三方调用smartbi发起的相关请求。