聊城网站优化信息,装修案例英文,作为一个大学生网站 应该怎么做,家庭组网方案Charles抓包原理
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器#xff0c;当浏览器连接Charles的代理访问互联网时#xff0c;Charles可以监控浏览器发送和接收的所有数据。
在开发OpenHarmony/HarmonyOS应用开发时#xff0c;我们使用的是ohos/axios来进行网络…Charles抓包原理
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器当浏览器连接Charles的代理访问互联网时Charles可以监控浏览器发送和接收的所有数据。
在开发OpenHarmony/HarmonyOS应用开发时我们使用的是ohos/axios来进行网络请求。在开发的过程中我看到很多伙伴使用了Charles来调试与服务器端的网络通讯协议以及分析网络包的数据并且收到了很多关于ohos/axios支持设置代理的issue。
Charles 是在PC端常用的网络封包截取工具通过将自己设置成系统的网络访问代理服务器使得所有的网络访问请求都通过它来完成从而实现了网络封包的截取和分析。Charles 主要的功能包括
截取 Http 和 Https 网络封包。支持重发网络请求方便后端调试。支持修改网络请求参数。支持网络请求的截获并动态修改。支持模拟慢速网络。
基本使用
首先打开浏览器访问 Charles官网 下载相应系统的 Charles 安装包然后安装即可
Windows 运行安装应用程序以在程序菜单中安装 Charles。Mac OS X 通过双击解压缩下载文件然后将 Charles 应用程序复制到 Applications 目录中。Linux Charles 拥有 APT 和 YUM 存储库如果你有基于 Debian 或基于 Red Hat 的 Linux 发行版这是安装 Charles 的首选方法。否则将 tar.gz 文件解压缩到适当的站点。如果您以前安装过 Charles 并且正在进行升级首先确保 Charles 没有运行然后安装或复制在以前安上。通过运行 bin/charles 脚本启动 Charles。
启动后点击ProxyàProxy Setting设置代理端口如下图设置端口为8888。 然后通过如下命令验证代理是否正常启动。
curl -x 127.0.0.1:8888 http://www.baidu.com配置代理
ohos/axios 2.2.0-rc.0及以上版本支持手动代理的设置只需要保证PC和OpenHarmony开发板在同一个局域网下即可抓到网络请求包。
// 发送一个get请求使用代理
axiosstring, AxiosResponsestring, null({method: get,url: http://www.baidu.com,proxy:{host: 192.168.1,23,port: 8888exclusionList:[]
}
}).then((res: AxiosResponse) {console.info(result: JSON.stringify(res.data));
}).catch((error: AxiosError) {console.error(error.message);
})CA根证书配置
对于Https请求我们需要导出CA根证书。依次选择HelpàSSLProxying --Save Charles Root Certificate 保存成根证书到桌面Desktop.pem。 然后点击“HelpàSSLProxyingàInstall Charles Root Certificateà”安装证书点击Proxy -- SSLProxy Settings在include添加*.和.443。 点击Proxy -- ProxySettings 勾选Enable transparent HTTP proxying。 随后再次请求设置代理和根证书Desktop.pem。
// 发送一个get请求使用代理并使用CA根证书
axiosstring, AxiosResponsestring, null({method: get,url: https://1.94.37.200:8080/user/getUserByUuid?userUuid1,proxy:{host: 192.168.1,23,port: 8888 exclusionList:[]
},
caPath: , //ca证书路径(应用目录getContext().filesDir /Desktop.pem。目前我是把Desktop.pem放到rawfile目录下在abouttoaperar时先把证书拷贝到filesDir下)提示如果需要能抓到https接口返回的内容需要把charles的证书和网站的证书合并(文本文件合并)这样charles显示出返回的数据。