我们有时候在本地调试的时候,使用charles抓取向本地服务发送的请求的,发现无法抓取。

charles官方也作了相应说明:

大概意思就是 某些系统使用的是硬编码不能使用localhost进行传输,所以当我们连接到 localhost的时候,不能被charles 抓取。

解决方法

使用 http://localhost.charlesproxy.com/  (charles启动后 localhost.charlesproxy.com 默认会指向127.0.0.1)代替 http://localhost/。

如果不想使用限定地址http://localhost.charlesproxy.com/ ,也可以在 hosts文件中配置:  127.0.0.1   xxx.test.com

案例

如抓取postman 请求本地接口的包,如下:

1、设置postman proxy指向系统代理:

 2、使用 http://localhost.charlesproxy.com/ 代替localhost:

3、查看抓包结果:

 

 可以看到抓包成功

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐