http抓包(PC\移动)

本文为楼主原创,转载请表明出处:http://blog.csdn.net/Suma_sun/article/details/52216114
最近公司有个项目是用WebView + HTML5做的。登陆界面是本地的,接口用的还是web的接口(不要问我为什么登陆界面不用h5…),有点坑返回的不是json数据,返回码是302重定向,成功与失败信息全在http的header里面。
由于返回码是302所以需要取消重定向的操作。
故使用了
static void setFollowRedirects(boolean set) 全局设置没有效果,可能是需要在url.openConnection之前执行吧。
后来(抓包验证后)问了同事才知道用的另一个方法
void setInstanceFollowRedirects(boolean followRedirects) 改变实例是否自动执行重定向操作。

由于关闭302自动重定向失败,总是获取不到http里面的值只好抓包看看数据对不对了。

首先用的是charles 这个是医生给我推荐的(徐宜生,群英传的作者)。
Charles官网
破解什么的自己google吧,如果实在不行私聊我 我有注册码…

PC抓包

安装完直接运行就可以抓本机的包了

这里写图片描述

CSDN上搜索charles,然后切换到charles看看

这里写图片描述

这里写图片描述

双击还能弹窗复制

这里写图片描述

Sequence模式更直观,都不需要一层一层打开

这里写图片描述

200返回的内容 参数都很直观,返回的是text/html

这里写图片描述

用text、html查看时一样的,不过html查看会根据内容变色 看上去更直观

这里写图片描述

304返回的内容很直观!但如果没有关闭自动重定向的话紧接着就会又触发get请求,返回码为200,之前304的header你是拿不到了。

手机抓包

charles抓包比linux的tcpdump抓包简单多了!使用的是代理来抓包。
在这里直接用Genymotion来演示,真机情况是一致的。
首先打开charles->Proxy->Proxy Settings…
这里写图片描述
默认端口号为8888,如果没有冲突就不需要修改。

使用cmd的ipconfig查询本机Ip

这里写图片描述

使用哪个网卡的ip都行,设置过滤ip过滤(Proxy->Access Control Settings里 add你的ip地址)。

打开手机连接PC同一个IP的网络(外网ip相同的路由器即可),连接上长按设置修改wifi
这里写图片描述

高级 代理设置手动代理,填入ip和charles的端口号即可
这里写图片描述

直接打开浏览器访问网页 并用clares查看请求即可

这里写图片描述

就是这么简单!
其实抓包不仅仅让你知道数据是什么样的。最重要的是这是证据啊!当你调用别人(后台写的)的接口总是有问题,对方又扯皮的话(╯﹏╰),嘿嘿,请求完后保存文件直接发给他,让他装个软件解析,自己看!
证据在手,让他排查错误去。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值