Charles使用问题

1.mac本,安装之后,勾选了macOS proxy 后浏览器就不能访问网络

原因:Charles 默认的8888端口被占用,我改为8088后即可连接网络,并拦截到浏览器请求。

解决:proxy->proxy Settings ,修改 port。

勾选了SOCKS proxy,可以捕获到长连接

 

2.不能抓取移动端

原因:正常来说应该是会提示是否抓取,但我的不知道为什么不提示

解决:proxy->access control Settings 修改访问控制,add 0.0.0.0/0。

3.不能抓取https

原因:需要在mac ,移动端分别 下载证书

解决:mac 通过Charles下载证书,并始终信任,

移动端先通过统一wifi添加代理,ip为help->local ip address ,端口为proxy port(前提条件)

然后访问chls.pro/ssl 下载证书并安装,并找到证书,选择信任。

最后启用https捕获,在charles的 Proxy选项选择SSL Proxy Settings设置ssl代理。点add添加需要监视的域名,支持 *号通配符,端口一般都是443:

5.安卓手机无法下载证书

问题:安卓手机下载证书之后提示无法打开

解决:可通过下面路径安装:

1.1 打开 “设置” -> “WLAN” -> “高级设置” -> “安装证书”

1.2 打开“设置” -> “更多设置” -> “系统安全” -> “加密与凭据” -> “从存储设备安装”

tips:提示给证书命名,随意命名即可

问题:安卓手机通过自带浏览器下载证书,安装时提示无可用证书(特别是小米手机)

解决:下载非自带浏览器,访问chls.pro/ssl,绘制锁屏密码,给证书命名,安装证书

可以在pc端保存证书,然后通过QQ微信或者其他传送文件的方式把pc端保存的证书存储到手机,再用以上的方法安装证书即可。


5.代理转发

问题:在客户端不发版的情况下,测试后端代码

有时候我们服务端线上版本有bug,你在本地修改程序后,需要模拟实际的线上环境,来验证程序的正确性,最笨的方法就是让客户端修改一下APP的调用地址到你本机,然后重新打一个版本供你模拟测试,这样虽然可以,但每次遇到bug都要这么做的话,那效率极其低下,甚至可能本地不好复现。

还有不强制更新的情况, 可以把请求代理到本地,自测是否兼容,是否可用

可以在不提交代码的情况下测试后端接口,减少提交代码的次数

解决:tool->map remote 把请求代理到localhost

6.拦截不到localhost流量

问题:Charles默认是不抓取localhost信息的,所以无论是浏览器访问localhost,还是把远程地址代理到localhost,请求都不会出现在列表里。

解决:连接到http://localhost.charlesproxy.com/。这指向IP地址127.0.0.1,因此它应该与localhost完全相同,但它的优势在于它将通过Charles。无论Charles是在跑,还是在使用Charles,这都会有效。如果您使用其他端口,例如8080,只需像往常一样添加它,例如localhost.charlesproxy.com:8080。然后再修改 Recording setting->include,设置为记录localhost中的信息。

7.改变Responses响应结果,测试特殊情况

问题:有时候一些特殊情况,造数据非常困难

解决:右键map local,添加响应文件,查看客户端效果

8.修改Requests请求参数,测试版本兼容问题

问题:客户端经常会有非强制更新的版本,我们接口需要分版本返回数据,测试在客户端下是否正常

解决:右键->compose,修改请求参数,点击Execute执行修改后的参数,Revert查看响应结果

参考文档:https://www.jianshu.com/p/993bc794138d

https://www.jianshu.com/p/993bc794138d

### Charles 工具的功能介绍与使用教程 Charles 是一款功能强大的抓包工具,广泛应用于网络调试和性能分析。以下是关于 Charles 的功能介绍及其使用方法的详细说明。 #### 一、Charles 的基本功能 Charles 提供了多种功能以满足开发者在网络调试中的需求,包括但不限于以下内容: - **界面介绍**:Charles 的界面设计直观,主要由会话列表、请求详情和配置选项组成[^1]。 - **弱网模拟**:通过设置网络延迟和带宽限制,开发者可以模拟不同的网络环境,从而测试应用在不同网络条件下的表现[^1]。 - **请求编辑**:支持对 HTTP/HTTPS 请求进行修改,允许用户更改请求头、参数或正文内容,以便测试不同的场景[^1]。 - **请求重发**:可以重新发送已捕获的请求,便于重复测试某些特定的网络行为。 #### 二、Charles 的安装与基本设置 在使用 Charles 前,需要完成以下基本设置: - **下载与安装**:访问 Charles 的官网(https://www.charlesproxy.com/),根据操作系统选择合适的版本进行下载和安装[^2]。 - **代理配置**:启动 Charles 后,确保设备的网络代理设置正确指向 Charles 的本地代理地址(通常是 `127.0.0.1` 和端口 `8888`)[^2]。 #### 三、SSL 抓包配置 为了捕获 HTTPS 流量,需要进行 SSL 代理设置: - 打开 Charles 的菜单栏,依次选择 `Proxy > SSL Proxying Settings`。 - 在弹出的窗口中,添加需要抓取的域名,并将 Charles 自带的 CA 证书导入到目标设备或浏览器中[^4]。 - 导入证书后,确保设备信任该证书,以便正常解密 HTTPS 数据流。 #### 四、高级功能 除了基础功能外,Charles 还提供了许多高级功能: - **带宽限制**:通过模拟低速网络,评估应用在不同网络条件下的性能[^3]。 - **断点调试**:允许用户暂停请求并手动修改其内容后再继续发送[^3]。 - **映射功能**:支持将某个 URL 的请求重定向到本地文件或其他服务器地址,便于开发和测试[^3]。 #### 五、注意事项 在使用 Charles 时需要注意以下几点: - 确保目标设备已正确配置代理,并导入了 Charles 的 CA 证书。 - 如果遇到证书不被信任的问题,可能需要手动将证书添加到系统的受信任证书列表中。 ```python # 示例代码:验证 Charles 的代理设置是否生效 import requests proxies = { "http": "http://127.0.0.1:8888", "https": "http://127.0.0.1:8888" } response = requests.get("https://www.example.com", proxies=proxies) print(response.status_code) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值