首页 > 其他分享 >Charles+BlueStack辅助监视线上APP的HTTP接口请求响应

Charles+BlueStack辅助监视线上APP的HTTP接口请求响应

时间:2022-10-30 23:31:59浏览次数:75  
标签:HTTP 请求 APP Charles Proxy BlueStack

1、背景

线上环境APP(H5)功能出错,需要排查问题。通常通过日志定位问题的途径有如下几种:查看APP的日志(请求和响应), 查看网关日志,查看业务服务日志等等。

在排查问题的过程中,需要对请求进行原样重播,修改参数重播,反复操作APP的功能效率会比较低。

测试和研发通常都会采用HTTP的请求响应抓包工具和模拟器,在PC上直接完成线上APP的测试工作。

本文介绍Charles + BlueStack抓包套件的配置,原理,示例。


2、准备

Charles+BlueStack辅助监视线上APP的HTTP接口请求响应_BlueStack

Charles+BlueStack辅助监视线上APP的HTTP接口请求响应_HTTP抓包_02

3、配置

3.1、Charles配置

  • Proxy->Proxy Seetings的Proxies 中HTTP Proxy代理端口默认值是8888, 可根据实际情况修改

Charles+BlueStack辅助监视线上APP的HTTP接口请求响应_HTTP抓包_03

  • Proxy->Proxy Seetings的Proxies 中Windows 中默认是启用Windows代理。比如:浏览器请求会通过代理服务器。如果仅针对特定的应用进行代理,建议关闭Windows Proxy。

Charles+BlueStack辅助监视线上APP的HTTP接口请求响应_APP抓包_04

Charles+BlueStack辅助监视线上APP的HTTP接口请求响应_BlueStack_05

3.2、BlueStack配置

  • 查询本地IP
ipconfig
  • 管理员权限打开命令行,切换值BlueStack的代理配置命令目录
例如:C:\Program Files (x86)\BluestacksCN\Engine\ProgramFiles

Charles+BlueStack辅助监视线上APP的HTTP接口请求响应_HTTP抓包_06

  • 设置代理服务地址
C:\Program Files (x86)\BluestacksCN\Engine\ProgramFiles>HD-ConfigHttpProxy.exe
Usage: HD-ConfigHttpProxy.exe set <host> <port>
HD-ConfigHttpProxy.exe reset
host是本地IP地址
port是Charles的代理端口

4、实例

案例说明:查询商品库存,查看接口请求和响应。

案例截图如下,左图是:Charles的HTTP请求响应记录界面;右图是:BlueStack上运行APP的截图。

1、右图:查询商品详情,调用商品库存接口

2、左图:展示请求和响应信息

  • 圈1:启停HTTP记录的开关和SSL Proxy开关
  • 圈2:请求的摘要信息(状态码,Host, Path, 开始结束时间,持续时间等)
  • 圈3:过滤指定域名下的请求,很常用的功能,方便快速展示关注的请求
  • 圈4:请求报文, 可以切换展示格式
  • 圈5:响应报文,可以切换展示格式

Charles+BlueStack辅助监视线上APP的HTTP接口请求响应_APP抓包_07


更多Charles的功能用法查看官方文档:​​​​https://www.charlesproxy.com/documentation/​​。


5、原理

Charles代理原理如下图所示。  

Charles+BlueStack辅助监视线上APP的HTTP接口请求响应_BlueStack_08


当我们开启Charles的Recoding(记录HTTP请求和响应)时,由于BluesStack的HTTP Proxy配置的是Charles的HTTP代理端口,所以此时APP的HTTP请求都会通过Charles Proxy去访问真正的服务器端。

原理比较简单,本文介绍的是Charles,类似的工具还有:Fildder,Wireshark等。



标签:HTTP,请求,APP,Charles,Proxy,BlueStack
From: https://blog.51cto.com/aiilive/5807895

相关文章

  • uniapp 打电话功能的几种方式
       手机端运行会直接调起电话按钮,代码如下:https://blog.csdn.net/ONLYSRY/article/details/127221380<viewclass="text2_button"@click="freeTell">     ......
  • Appearance Test 外观测试
    regular常规bold粗体italic斜体bolditalic粗斜体h1一级标题h2二级h3三级h4四级h5五级h6六级inlinecode内联代码BowdowntothekeyNG哔哩哔哩......
  • 开发一套代驾APP软件多少钱才不贵
    在我国,商场文化即是酒桌文化,在快节奏的今天,外出应酬再所难免,喝酒在所难免。如今,酒驾在我国是违法行为,一旦酒驾,轻则吊销驾照,重则入刑,后果极其严重。在严厉打击酒驾行为时,也给......
  • 在mapper中获得inputsplit的信息
    在社区版的hadoop版本0.19/0.20中,当使用普通的输入的时候,比如job.setInputFormatClass(TextInputFormat.class);在mapper运行的时候,可以用如下的方法得到对应......
  • APP自动化效果测试工具
    ​1.背景项目测试过程中经常需要在手机端体验语音产品的识别效果和稳定性,识别效果与手机硬件强相关无法抛开硬件影响。因此开发了一套基于uiautomator2+pythonUI自动化工......
  • uniapp支付返回form
    在项目中,支付功能是一个常见的功能,调用支付宝时,后段给我们的是一个form的富文本内容 这时需要把form到页面渲染,方法如下:uni.request({//仅为示例,并非......
  • uniapp 计算当前xxx组件高度
    /*计算当前Swiper的高度*/getCurrentSwiperHeight(){//获取Dom是异步操作所以封装PromisereturnnewPromise((resol......
  • Another app is currently holding the yum lock; waiting for it to exit
    现象Anotherappiscurrentlyholdingtheyumlock;waitingforittoexit...另一个应用程序是:PackageKit内存:31MRSS(451MBVSZ)已启动:WedAug1709:08:40......
  • uniapp进行交互反馈
    前言:在进行开发中,难免会遇到与客户进行交互的问题,好的交互不仅可以增加用户体验也可以让程序更加完美。比如PC端常用的ElementUI中的Message,今天我们来看一看uniapp原生......
  • 【环境配置/报错解决】pip install virtualenvwrapper 报错
    1.SSLERRORWARNING:Retrying(Retry(total=4,connect=None,read=None,redirect=None,status=None))afterconnectionbrokenby'SSLError("Can'tconnecttoHTT......