本文介绍的是如何使用Fiddler工具抓取Android应用的HTTP协议的数据包html
第一步:将笔记本电脑链接网络(有线和无线都可)json
第二步:在Fiddler中设置“容许远程链接”和“默认端口”浏览器
第三步:打开“控制面板”-“网络和Internet”-“网络链接”,选中当前的活动链接,找到局域网IP地址。安全
第四步:设置Genymotion中的模拟器代理IP地址为192.168.1.8(上一步记录的IP),设置完后记得保存服务器
请求行、通用信息头、请求头、实体头、报文主体网络
以下:app
请求格式为工具
Method【分隔符】Request-URI【分隔符】HTTP-Version【换行】性能
其中:Method是请求方法,相似的方法有GET、POST、DELEFT、PUT、HEAD...经常使用的方法是GET、POST,GET和POST区别在于:测试
一、GET经过URLParams传值,POST经过报文体传值(经过Content-Type请求头分辨内容类型,经常使用的有:application/json,text/plain,text/html,image\png...)
二、GET传递的值不能大于2kb,POST理论上不限制大小,实际大小和服务器配置有关。
三、GET的参数很容易被看见故安全性较低,POST参数不容易被看见故安全性较高(通常用于传输用户的身份信息,经常使用表单、登陆等)
常见的请求字段的含义:
1. HOST: 该请求的目标主机
2. ACCEPT: 客户端可接受的内容类型
3. USER-AGENT: 用户代理,通常是浏览器的信息(不少统计网站如cnzz, 51la, 就是用这个搜集用户访问数据)
4. ACCEPT-ENCODING: 可接受的编码(Android端就是用这个实现gzip压缩,优化网络请求,推荐)
5. REFRER:来源,该请求是哪一个页面发起的(通常网站用这个字段实现防图片盗链,只要REFRER中的主机不是本网站,挂断请求)
状态行 通用信息头 响应头 实体头 报文主体
状态行由状态码和缘由分析两部分构成。其中,状态码由3位数字组成,表示请求是否被理解或被知足,用来至此自动操做;缘由分析是对原文的状态码做简洁的描述,用来供用户使用。
响应报文中的状态码在进行Web应用性能测试的过程当中常常遇到,说明以下:
1XX:信息响应类,表示接收到请求而且继续处理。
2XX:处理成功响应类,表示动做被成功接收、理解和接收
3XX:重定向响应类,表示为了完成指定的动做,必须接受进一步处理
4XX:客户端错误,表示客户请求包含语法错误或不能正确执行
5XX:服务端错误,表示服务器不能正确执行一个正确的请求
经过上述的配置,咱们用Fiddler抓取到了Splash页面的请求:
http://mobileif.maizuo.com/ver4/city/37/ADInfo?agentID=baidu&channelID=31&clientID=31&revision=4.2.5&agentID=baidu
从该请求能够简单获取如下信息:
1. 该请求使用的是POST, HTTP1.1
2. 卖座接口启用了gzip优化网络请求
3. 内容长度为211个字节,而且支持UTF-8
本文待完善,若有问题,请多多指教。