美文网首页
Charles辅助调试接口

Charles辅助调试接口

作者: 微笑的AK47 | 来源:发表于2018-06-11 09:54 被阅读0次

Charles辅助调试接口

经常会有这样的场景:

场景一: 想看看其他的App是怎样设计请求,怎样设计返回数据格式,某一个功能点请求分几个实现的。最近我在用某听书软件听鬼故事(^0^),它们限制非VIP每天只能下100篇离线,我试着用charles拦截修改返回数据,把我自己变成超级VIP了,然后, 没然后了….

场景二: 一个请求发起直接返回各种看起来奇葩的错误,检查半天代码好像也没问题,直接就大嘴巴叫后台的兄弟服务挂了,后台一看,好好的啊…

场景三: 开发新的功能,接口也先大概定义好了,可后台兄弟忙着和妹子聊天(^),接口还没写好啊…,虽然可以在代码里写死demo数据,但后台接口写好了,难道又去改一遍?有木有更好的方式呢?先把请求都写好,能正常返回数据,解析好结果绑定到界面,最后接口写好了直接就对接,charles可以帮助我们这么干。

场景四: 除了WIFI我们还要测试2G,3G,4G等各种复杂网络条件下的情况,可手机上网资费不便宜啊,可以让charles限制网速模拟网络环境。

就列举这么几个场景吧,下面进入本文的正题

一.设置代理抓包

打开charles软件,选择Proxy->Proxy Settings到如下界面:

以iPhone手机为例,打开: 设置->无线局域网,选择一个网络进入,滚动到下面看到有’HTTP代理’模块,选择手动模式,按照如下图填好配置.

服务器地址填写电脑的局域网ip,打开系统设置->网络,就能看到本机ip了

填写好了,随便打开一个app,在charles软件里应该会弹出一个提示框,是否同意通过本机代理上网,点是就好了。下面是我设置好代理后,打开手机上app,在charles软件里看到的。

二.模拟慢网速请求

App开发完后,我们要测试多环境,特别是在慢网速下的case,之前我有写过一篇关于慢网速测试,现在用charles也可以达到这目的。选择Proxy->Throtting Setting,打开后如下图设置

如果要针对某一个地址限速,在Hosts里可以add要限速的url.

三.截获请求转到指定的地址

比如api请求的是http://api.test.com/user?user_id=1, 但是后台这个没写好,我们就临时转到一个本地地址http://10.1.1.111/user_info.json,这个就一json文件编辑什么的特别方便,想怎么改都方便了,不过这个得在本地搭一个server环境,推荐用nginx或apache.

选择Tools->Map Local打开设计界面,设置好如下图:

四.截获请求直接返回本地的文件内容

如果懒得搭server环境,就可以用这种方式了,这个可以直接把一个请求返回内容映射到本地文件,例如把http://api.test.com/user?user_id=1对应的请求返回内容映射到本地文件user_info.json,

选择Tools->Map Local打开设计界面,设置好如下图:

五.截获请求修改请求信息

上面的方式是直接替换了整个,哪如果只想截获并做一定修改怎么处理呢?

选择Tools->Rewrite,设置如下图:

六.设置请求的黑名单

不想某些请求发起,直接返回404,可以用黑名单

选择Tools->Black List,设置如下图:

七.DNS欺骗

dns欺骗,说简单点就是把域名解析到一个假的ip,

可以不必一定要用locahost,127.0.0.1,装个B把127.0.0.1对应到baidu.com来调试~

选择Tools->DNS Spoofing,设置如下图:

八.缓存请求返回的内容

这个我用来干过做缓存数据用,让app在没有server的时候也能跑,

选择Tools->Mirror,设置如下图:

上面这些是我在开发过程中经常会用到的,基本能很好解决和后台联调的问题,我没有把每个地方都列的很细,基本都是只提到点,相信大家知道这个点去操作都很容易就上手,但我更想说的是,这些都只是工具,最好还是能了解web原理基础,理解HTTP协议。

另外介绍一个模拟请求的工具,Chrome下的插件postman,很方便就能模拟post,get,put,delete等请求,模拟文本,上传文件请求,附上一张截图:

有了这些工具的辅助,相信你对接口的调试再也不会叫苦啦…

转载请注明来自http://heyuan110.com 

相关文章

  • Charles辅助调试接口

    Charles辅助调试接口 经常会有这样的场景: 场景一: 想看看其他的App是怎样设计请求,怎样设计返回数据格式...

  • Charles辅助调试接口

    一直用Charles辅助调试接口,今天系统性整理一下Charles的具体使用方法。 简介 Charles是一款运行...

  • 使用Charles进行HTTPS抓包

    具体查看:使用Charles进行HTTPS抓包Charles辅助调试接口 测试iOS APP 模拟各种网络环境Ch...

  • iOS 开发常用工具集

    网络抓包相关:Charles、Wireshark; 接口调试工具:PostmanCanary; 将 IPA 安装到...

  • Charles接口调试指南

    一、抓取定向地址的网络请求 Proxy->Recording Settings 注: 若是抓取https接口 要特...

  • Charles 代理,电脑代理,遇坑总结

    说明 Charles在Android开发调试接口时,是比较常用的工具,接口数据模拟,查看,debug等。对整体环境...

  • 网络抓包神器-charles使用技巧

    charles charles常用于网络抓包,常见用途有以下: 开发和调试过程有极大帮助,可以分析接口请求 篡改m...

  • Charles断点和修改内容

    Charles下载地址 用途 1.抓取http请求包括app请求(调试app接口时排查问题)2.线上调试和解决问题...

  • Http - 收藏集 - 掘金

    利用 Charles 抓取手机数据包 - 工具资源 - 掘金作为后端,给客户端提供了很多接口,有时候为了调试接口,...

  • Charles调试

    Charles调试

网友评论

      本文标题:Charles辅助调试接口

      本文链接:https://www.haomeiwen.com/subject/viuceftx.html