5.1假期第二天,依然窝在家里,不过今天来客了,我的好朋友「晓哥」来看小宝,中午喝了点,各自「吹嘘」了一阵,聊聊各自职业的发展,工作中遇到的问题,以及对未来的规划。
他现在发展的特别好,在一家近千人开发的公司,主管北京地区的业务,包括需求洽谈、研发、项目推进和验收等,公司业务是为多家银行做app端,和我分享了他在管理上的一些经验,真心为他高兴,祝越来越好。
话题一转,说说今天的主角:2个工具,一个是抓包工具Charles,一个是API调试工具Postman。前几天,尝试使用Charles抓取Websocket的消息,折腾了好久才成功,Postman也一样,安装了app版本,也遇到了一些问题,想把过程分享给需要的朋友。
Charles
Charles是一个HTTP代理/HTTP监视器/反向代理,它允许开发人员查看他们的机器和Internet之间的所有HTTP和SSL/HTTPS通信,包括请求、响应和HTTP头(包含cookie和缓存信息)。
基本原理就是将自己作为代理服务器,浏览器、手机app等客户端进行代理设置,配置成Charles监听的端口,客户端将请求发给Charles,Charles再将请求发送给真正服务器,结果返回时,由Charles转发给浏览器、手机等客户端。
下面说明各种协议的请求抓取,环境如下:
- 使用Android手机作为客户端,模拟发送各种请求;
- 在Mac电脑上安装Charles应用程序,作为代理服务器;
- 抓取小米商城app的各种请求;
- 保证Android、Mac连接同一个网络;
配置
第一步,Charles代理设置,只要设置下端口即可:
第二步,配置手机Wifi代理(每个手机不同):
选择手动代理,主机名为mac的ip地址,端口号为第一步配置的端口,配置完成后,mac端会提示允许接入,选择Allow即可:
这样小米商城app的一些请求,就可以查看到了:
抓取HTTPS请求
要抓取HTTPS请求,需要配置证书,过程如下:
第一步,在mac上安全charles根证书:
第二步,保存charles根证书为cer格式,发送到手机,安装证书:
安装完成后,可以在安全设置中查看到这个证书:
第三步,开启SSL代理
这样设置之后,就可以抓取https请求了,内容也不会乱码了:
抓取Websocket请求
3.11版本之后,开始支持websocket抓取,如下:
不知道什么原因,使用上面wifi代理配置,无法抓取到websocket请求,查了很多文章都没有成功,最后,看到一句话:有些协议不会经过wifi代理,就想到使用全局代理app,应该会支持websocket协议,最后验证是可以的。
我选择了drony代理app,使用其他代理app应该也可以,首先,配置代理服务器,和之前类似:
进入setting选项卡,选择Wi-Fi:
找到使用的网络名,点进去设置,设置为charles的地址地址和端口:
这样设置后,就可以抓取到websocket请求了:
其他功能介绍
还可以提供以下功能,这里就不展开说了,网上也有很多资料:
- 模拟慢速网络;
- 修改网络请求内容,多次发送请求;
- 给服务器做压力测试;
- Map功能,可以将app请求到测试环境;
- Breakpoints功能,当指定的网络请求发生时,Charles会截获该请求,可以在Charles中临时修改网络请求的返回内容;
感兴趣的可以查看这篇文章了解:传送门
Postman
Postman是一种网页调试与发送网页http请求的应用,可以用来很方便的模拟get或者post或者其他方式的请求来调试接口。
之前一直使用Chrome app版本,最近这个版本不维护了,提示使用应用程序版本,这个工具使用比较简单,我就说说我觉得比较棒的功能。
环境管理
系统都有测试环境和线上环境,请求url肯定不一样,一些参数也可能不一样,可以通过切换不同的环境,动态变化,这样只需配置一次url和参数即可。
通过上面的设置,就可以在url配置中使用环境变量了:
Collections
可以保存我们的请求,不用打开都重新设置请求地址和参数了:
工作空间
新版本提供了工作空间的功能,可在不同的项目中切换:
抓取浏览器的请求
可以自动映射到参数、cookie信息,对应需要登录后调用的接口,可以现在浏览器登录,通过抓取,就可以自动设置cookie信息了。
第一步,Postman开启代理端口:
第二步,浏览器设置代理为第一步开启的端口:
我使用浏览器插件SwitchyOmega进行了设置,这样在浏览器中访问网站,就会在Postman的History中显示了:
欢迎扫描下方二维码,关注我的个人微信公众号,分享我的工作、学习和生活 ~
相关推荐
我给站长们推荐2个工具,KOAcha2.0和ScanWebshell ScanWebshell是Lake2大侠写的,我个人很佩服他,这个工具是一个ASP格式的页面,可以查询ASP,cer,cdx,asa以及嵌套调用的任意格式文件,但是图片ASP木马查不到,...
本文将推荐13个优秀的网站检测工具,涵盖浏览器兼容性测试、负载测试、DNS 健康检查等多个方面。 1. Browser Shots Browser Shots 是一个免费的在线开源 Web 工具,可以帮助开发人员在不同的操作系统和浏览器下...
在提供的压缩包文件中,"什么是directx修复工具,推荐几个工具.pdf"和"说明.pdf"应该包含了更详细的信息,包括这些工具的使用方法、功能介绍以及可能遇到的问题和解决方案。通过阅读这些文档,你可以获得更全面的...
2. **启动管理工具**:运行下载的“PS2记忆卡管理工具”软件。 3. **识别记忆卡**:软件会自动检测到连接的记忆卡,显示其相关信息。 4. **进行操作**:根据需求选择备份、恢复、格式化或管理存档等操作。 5. **...
这篇推荐文章提及了一款名为“超级强”的Java反编译工具,尽管没有明确指出具体是哪一款,但我们可以讨论一些知名的Java反编译工具及其特点。 首先,最著名的Java反编译工具之一是Jad。Jad 是Java Decompiler的缩写...
标题中的“推荐一个很好用的截图工具,无需安装”表明我们正在讨论的是一款便捷的、无需安装即可使用的截图工具。这种类型的工具通常以可执行文件(.exe)的形式存在,用户可以直接下载并运行,而无需经历传统的安装...
### UML建模工具概述与推荐 统一建模语言(Unified Modeling Language,简称UML)是一种用于软件工程的标准化建模语言,旨在帮助开发者更好地理解、设计和维护软件系统。UML工具则提供了可视化的环境,使软件架构师...
二、百度关键字分析工具的功能 1. **关键词挖掘**:该工具能够帮助用户找到大量与目标主题相关的关键词,包括长尾关键词,这些关键词可能具有较低的竞争度,但能带来更精准的流量。 2. **搜索量查询**:显示关键词在...
使用这样的集成平台,用户可以在一个统一的界面下管理各种工具,提高工作效率。 总之,选择合适的密码管理工具是保护个人信息安全的关键步骤。在使用过程中,确保遵循良好的密码策略,如定期更换复杂密码,并避免在...
Notepad2记事本工具,Notepad2记事本工具,Notepad2记事本工具
3. **十六进制显示**:除了ASCII字符,串口工具通常也支持以十六进制显示数据,这对于处理二进制数据非常有用。 4. **日志记录**:为了分析长时间的通信数据,串口工具会提供日志记录功能,将通信过程中的所有收发...
尽管如此,对于一些老版本的Windows系统或特定的疑难杂症,MSI清除工具msicuu2仍然是一个有效的解决方案。然而,由于其潜在的风险,非专业人员在使用时应谨慎操作,以免误删重要系统组件。在尝试使用msicuu2之前,...
在IT行业中,JavaScript(简称JS)作为Web开发的核心语言,其调试能力对于开发者来说至关重要。...配合提供的`推荐一个IE下的优秀js调试工具.doc`文档,你可以更深入地了解如何利用Companion.JS来优化你的工作流程。
"吐血推荐稳定好用的串口工具"这个标题强烈地表达了作者对这款串口工具的高度评价,表明它在实际使用中具有极高的稳定性和可靠性,是进行UART(通用异步收发传输器)通讯时的理想选择。 UART是一种常见的串行通信...
2. Transmission Transmission是一个轻量级的BitTorrent客户端,体积小,启动快,界面简洁直观。它支持磁力链接,允许用户设定下载限速,跟踪下载进度,并且支持远程控制。此外,它有各种插件可以增强功能。 3. μ...
在IT行业中,这样的工具常常被开发者用来调试、定制或修复软件,尤其在没有原始源代码的情况下,它是进行二进制编辑的有效手段。 在描述中提到,“用他可以修改一些版权”,这意味着该工具允许用户改变程序显示的...
标题中的"camera2相机录像通用工具类"指的是一个专门针对Android平台上的Camera2 API开发的类库,用于简化相机拍照和录制视频的操作。Camera2 API是Android系统从API级别21(Android 5.0 Lollipop)开始引入的高级...
描述中的“强烈推荐强烈推荐强烈推荐”表达了对这个工具的高度评价和推荐,意味着它具有用户友好的界面,准确的检测能力,以及可能的易用性和高效性。用户可能通过这个工具快速、无误地识别出摄像头的信息,对于需要...
2. **OPC Client测试工具** - **功能**:OPC Client测试工具主要用于验证OPC客户端软件是否能正确地连接、读取和写入OPC服务器的数据,检查其兼容性、稳定性和性能。 - **重要性**:这些工具确保了OPC客户端在实际...
总的来说,前端开发中的代码压缩是必不可少的环节,Closure Compiler和YUI Compressor是两个值得推荐的工具。通过合理选择和组合使用,可以有效提升网站的加载速度,为用户提供更好的浏览体验。