网站颜色:

HTTP抓包之接口自动化测试/HTTP抓包实战 快速掌握Fiddler抓包和JMeter发包Web网页抓包修改包前端开发程序设计书籍

  • 产品名称:HTTP抓包之接口自动化测试...
  • 书名:HTTP抓包之接口自动化测试/HTTP抓包实战
  • 作者:肖佳
  • 定价:128.00元
  • 书名:HTTP抓包之接口自动化测试/HTTP抓包实战
  • 是否是套装:是
  • 出版社名称:人民邮电出版社

内容介绍

91 HTTP抓包实战 59.00 9787115534316 HTTP抓包之接口自动化测试 69.00 《HTTP抓包实战》 HTTP抓包利用Fiddler抓包工具来捕获HTTP数据包,然后对其进行重发、编辑等操作。HTTP抓包的用途非常广泛,主要用于Web开发调试、软件自动化测、接口自动化测试、性能测试和网络爬虫等方面。也用来检查网络安全。抓包也经常被用来进行数据截取等。 本书主要围绕抓包展开。全书共有22章,着重介绍了HTTP协议、如何使用Fiddler对HTTP包进行抓取,如何对HTTP进行分析,以及使用JMeter等工具来发送HTTP包以实现软件的自动化测试。本书图文并茂,实例丰富,还有配套的视频教程,方便读者参考并动手实践。 本书适合前端开发工程师、测试工程师、线上故障支持人员、接口开发人员和Web开发人员阅读,也适合对自动化测试感兴趣的人员阅读。 《HTTP抓包之接口自动化测试》 本书内容来自作者多年从事接口测试的经验总结,贴近实际,能帮助读者解决实际工作中的难题。本书的主要内容有HTTP的基础知识;如何使用Fiddler来抓HTTP包;如何分析HTTP包;如何通过JMeter和Postman等发送HTTP包,从而实现软件自动化测试和接口的自动化测试;如何使用抓包工具来实现安全测试和性能测试等;几个日常生活中应用比较广泛的综合实例。 本书图文并茂、实例丰富,方便读者参考并动手实践,适合前端开发工程师、测试工程师、线上故障技术人员、接口开发人员和Web开发人员阅读。
目录

《HTTP抓包实战》
第 1章 HTTP协议和Fiddler抓包 1
1.1 HTTP协议介绍 1
1.1.1 什么是HTTP协议 1
1.1.2 如何学习HTTP协议 1
1.1.3 HTTP协议的工作原理 2
1.2 Fiddler的介绍 2
1.2.1 Fiddler的和安装 3
1.2.2 Fiddler的基本界面 3
1.2.3 Inspectors选项卡 4
1.2.4 Web Sessions列表 5
1.2.5 Fiddler捕获HTTP协议的
数据包 5
1.2.6 Fiddler设置开始捕获和
停止捕获 6
1.3 HTTP协议报文的结构 7
1.3.1 HTTP请求报文的结构 7
1.3.2 HTTP响应报文的结构 8
1.3.3 Fiddler捕获博客主页,
查看HTTP请求和HTTP
响应报文 9
1.4 Fiddler抓包的原理 10
1.4.1 什么是代理服务器 10
1.4.2 Fiddler的工作原理 11
1.4.3 查看Internet选项代理
设置 11
1.4.4 Fiddler如何捕获Firefox 12
1.4.5 Fiddler能捕获哪些设备的
HTTP数据包 13
1.4.6 解压HTTP响应 14
第 2章 HTTPS协议和Fiddler抓包 15
2.1 HTTP协议是不安全的 15
2.2 Web通信如何做到安全 15
2.3 什么是HTTPS 17
2.4 Fiddler如何捕获HTTPS会话 17
2.4.1 添加例外绕过HTTPS
错误 18
2.4.2 Firefox中安装证书 20
2.4.3 Fiddler可以捕获HTTPS的
握手验证请求 21
2.4.4 查看Windows本地安装的
证书 22
第3章 HTTP协议请求方法和状态码 23
3.1 URL详解 23
3.1.1 URL格式 23
3.1.2 URL中的锚点 24
3.2 HTTP请求方法 24
3.2.1 GET方法 25
3.2.2 带参数的GET方法 26
3.2.3 POST方法 26
3.2.4 GET和POST方法的
区别 28
3.3 HTTP状态码 28
3.3.1 什么是HTTP状态码 28
3.3.2 状态码分类 28
3.3.3 常见的状态码 29
3.3.4 200(OK) 29
3.3.5 204(No Content,没有
内容) 30
3.3.6 206(Partial Content,部分
内容) 31
3.3.7 301(Moved
Permanently) 32
3.3.8 302(Found) 33
3.3.9 301和302的区别 33
3.3.10 304(Not Modified) 34
3.3.11 400(Bad Request) 34
3.3.12 401(Unauthorized) 35
3.3.13 403(Forbidden) 36
3.3.14 404(Not Found) 36
3.3.15 500(Internal Server
Error) 36
3.3.16 503(Server
Unavailable) 38
第4章 HTTP协议Header介绍 39
4.1 HTTP Header介绍 39
4.2 Fiddler查看HTTP请求Header 39
4.2.1 Cache相关的Header 40
4.2.2 Cookies 41
4.2.3 Accept 41
4.2.4 Accept-Encoding 41
4.2.5 Accept-Language 41
4.2.6 User-Agent 42
4.2.7 实例:Fiddler修改User-
Agent,伪装客户端 42
4.2.8 Referer 43
4.2.9 Connection 44
4.2.10 Host 44
4.3 Fiddler查看HTTP响应Header 44
4.4 Fiddler查看和复制Header 45
第5章 Web网页抓包和Fiddler
修改包 46
5.1 网页是如何打开的 46
5.1.1 一个网页的组成 46
5.1.2 打开一个网页,浏览器需要
发送很多个请求 47
5.1.3 用Fiddler查看一个Web页面
打开的过程 47
5.1.4 用Fiddler选择请求 48
5.2 Web页面简单的性能测试 49
5.3 使用Fiddler来查看响应 50
5.4 Fiddler下断点,修改HTTP报文 51
5.4.1 Fiddler中设置断点修改
HTTP请求 51
5.4.2 实例:Fiddler修改HTTP
请求 52
5.4.3 Fiddler中设置断点修改
HTTP响应 53
5.4.4 Fiddler修改网页的标题 54
5.4.5 伪造Referer 55
第6章 HTTP协议中的缓存 56
6.1 缓存的概念 56
6.2 缓存的优点 56
6.3 Fiddler可以方便地查看缓存的
Header 57
6.4 如何判断缓存新鲜度 57
6.5 通过*后修改时间来判断缓存
新鲜度 58
6.6 与缓存有关的Header 59
6.7 ETag 60
6.8 浏览器不使用缓存 61
6.9 直接使用缓存,不去服务器
验证 62
6.10 如何设置IE不使用缓存 63
6.11 公有缓存和私有缓存的区别 64
第7章 HTTP协议压缩和URL Encode 65
7.1 HTTP压缩的过程 65
7.1.1 实例:Fiddler观察HTTP
压缩 66
7.1.2 内容编码类型 67
7.1.3 压缩的好处 68
7.1.4 Gzip的不足之处 68
7.1.5 Gzip是如何压缩的 68
7.1.6 HTTP请求也是可以
编码的 68
7.1.7 HTTP内容编码和HTTP
压缩的区别 69
7.2 URL Encode介绍 69
7.2.1 查询字符串中包含汉字 69
7.2.2 POST中的数据包含汉字 70
7.3 Fiddler中的TextWizard 71
第8章 Fiddler使用技巧 72
8.1 Fiddler和其他抓包软件的比较 72
8.2 Fiddler抓不到包应该怎么解决 73
8.3 如何找到想抓的包 73
8.4 Fiddler异常退出后无法上网 73
8.5 Fiddler排序 74
8.6 Fiddler中查询会话 74
8.7 Fiddler中保存抓到的包 75
8.8 Fiddler中编辑会话 75
8.9 过滤会话 75
8.10 常用快捷键 76
8.11 QuickExec命令行的使用 77
8.12 Fiddler比较会话的不同 78
8.13 Fiddler插件 79
8.13.1 JavaScript Formatter 79
8.13.2 Gallery插件 79
第9章 Fiddler前端快速调试 81
9.1 如何在服务器上调试JavaScript
文件 81
9.2 Fiddler AutoResponder的工作
原理 82
9.3 Fiddler在线调试JavaScript文件 82
9.4 浪漫的程序员 85
9.5 替换网页中的图片 86
第 10章 Fiddler的Script用法 89
10.1 Fiddler Script介绍 89
10.2 Fiddler Script Editor 90
10.3 CustomRules.js中的主要方法 91
10.4 Fiddler定制菜单 92
10.5 修改Session在Fiddler的显示
样式 92
10.6 修改HTTP请求 93
10.6.1 修改HTTP请求中的
Cookie 93
10.6.2 替换HTTP请求的Host
地址 94
10.6.3 修改HTTP请求中的
Header 94
10.6.4 修改HTTP请求中的
Body 95
10.7 修改HTTP响应 95
10.8 读写txt文件 96
10.9 使用正则表达式 96
10.10 保存Session 97
10.11 读取Session,并且使用Fiddler
来发送 97
第 11章 深入理解Cookie机制 98
11.1 HTTP协议是无状态的 98
11.2 会话机制 98
11.3 Cookie机制 100
11.4 Cookie是什么 100
11.5 Cookie的作用 101
11.6 抓包观察上海科技馆网站的
登录 102
11.7 Cookie的属性 103
11.8 Cookie的分类 104
11.9 Cookie保存在哪里 104
11.10 使用和禁用Cookie 105
11.11 网站自动登录的原理 106
11.12 Cookie和文件缓存的区别 106
11.13 Cookie泄露隐私 107
第 12章 Fiddler实现Cookie劫持
攻击 108
12.1 截获Cookie冒充别人身份 108
12.2 Cookie劫持的原理 108
12.3 Cookie劫持实例介绍 109
12.3.1 找到登录的Cookie 109
12.3.2 浏览器中植入Cookie 111
12.4 网站退出的作用 112
第 13章 HTTP基本认证 113
13.1 什么是HTTP基本认证 113
13.1.1 路由器管理页面使用基本
认证 114
13.1.2 HTTP基本认证的优点 117
13.1.3 HTTP基本认证的缺点 117
13.1.4 使用TextWizard工具 117
13.1.5 客户端的使用 117
13.2 摘要认证 118
第 14章 Fiddler抓包 119
14.1 环境准备 119
14.2 Fiddler截获原理图 119
14.3 截获发出的HTTP包有什么
作用 120
14.4 抓包 120
14.4.1 配置Fiddler允许“远程
连接” 120
14.4.2 获取Fiddler所在机器的
IP地址 121
14.4.3 上设置代理
服务器 121
14.4.4 测试Fiddler捕获
发出的HTTP 123
14.4.5 捕获上的HTTPS 123
14.4.6 Apple设备需要使用插
件制作新证书 123
14.4.7 iOS设备安装证书方法 124
14.4.8 Android设备安装证书
方法一 125
14.4.9 Android设备安装证书
方法二 126
14.4.10 测试Fiddler捕获的
HTTPS 127
14.5 设置过滤 127
14.6 如何卸载证书 128
14.7 抓包提醒 128
第 15章 Fiddler发送HTTP请求 129
15.1 Fiddler Composer发送HTTP
请求 129
15.1.1 Composer发送Get
请求 129
15.1.2 Composer的编辑模式 130
15.1.3 Composer发送Post
请求 130
15.1.4 Composer编辑之前捕获的
HTTP请求 131
15.2 Fiddler重新发送HTTP请求 131
15.2.1 Replay菜单 131
15.2.2 简单的性能测试 132
15.2.3 先编辑再发送 133
15.3 安全测试之重放攻击 133
15.3.1 重放攻击是怎么发生的 133
15.3.2 重放攻击的危害 133
15.3.3 重放攻击的解决方案 133
15.3.4 APP验证码重放 134
15.4 查找和登录相关的Cookie 136
第 16章 Fiddler实现弱网测试 139
16.1 什么是弱网 139
16.2 弱网环境带来的问题 140
16.3 弱网测试的目的 140
16.4 弱网的场景 140
16.5 Fiddler模拟网络延迟 140
16.6 *确控制网速 141
16.7 Fiddler模拟网络中断 142
16.8 实例:Fiddler返回500状态码 142
16.9 Fiddler模拟网络超时 143
第 17章 自动化测试和接口测试 144
17.1 自动化测试分类 144
17.2 分层的自动化测试理念 144
17.3 Web自动化测试的两种思路 146
17.4 什么是接口测试 146
17.5 接口测试工具 147
17.6 Web原理 147
17.7 Web自动化测试原理 148
17.8 性能测试的原理 148
17.9 APP的后台测试 149
17.10 如何学习Web自动化测试和
性能测试 149
第 18章 JMeter工具使用介绍 151
18.1 JMeter介绍 151
18.2 JMeter的和运行 151
18.3 创建测试任务 152
18.4 添加HTTP请求 153
18.5 实例:密码用MD5加密 154
第 19章 JMeter天气接口自动化测试 160
19.1 天气查询的例子 160
19.2 天气查询网站抓包 160
19.3 抓包分析 161
19.4 获取城市地区代码 162

19.5 处理JMeter中HTTP响应
乱码 163
19.6 添加验证点 164
19.7 使用用户自定义变量 165
19.8 正则表达式提取城市地区代码 166
19.9 获取天气 167
第 20章 JMeter中BeanShell的用法 169
20.1 什么是BeanShell 169
20.2 操作变量 169
20.3 JMeter有哪些BeanShell 170
20.4 BeanShell调用自己写的jar包
进行MD5加密 171
第 21章 自动登录禅道和自动开Bug 174
21.1 HTTP Cookie管理器 174
21.2 HTTP请求默认值 175
21.3 禅道介绍和部署 175
21.4 禅道操作和抓包分析 176
21.4.1 第 一铂自动登录禅道 176
21.4.2 *二铂创建一个新的
Bug 181
21.4.3 第三铂找到刚刚新建
Bug的ID 184
21.4.4 第四铂修改Bug状态为
“已解决” 185
21.4.5 第五铂关闭Bug 187
21.4.6 总结 187
第 22章 JMeter给网站做压力测试 188
22.1 案例介绍 188
22.2 压力测试的目的 188
22.3 抓包分析Mozy网站的登录
过程 189
22.4 抓包分析 190
22.5 实现Mozy登录 191
22.6 简单的压力测试 193


《HTTP抓包之接口自动化测试》
第 1章 抓包的用处 1
1.1 Fiddler抓包的应用 1
1.2 学习HTTP 2
1.2.1 HTTP请求的结构 3
1.2.2 HTTP响应的结构 3
1.3 爬虫 3
1.4 Fiddler在测试中的作用 5
1.4.1 抓包用于性能测试 5
1.4.2 抓包用于安全测试 5
1.4.3 抓包用于接口测试 6
1.4.4 大量制造测试数据 6
1.4.5 异常测试 6
1.4.6 排除故障和定位Bug 6
1.5 前端开发人员使用Fiddler调试Web 8
1.5.1 后端接口Mock 8
1.5.2 AJAX调试 9
1.5.3 线上调试 9
1.6 后端开发人员使用Fiddler抓包 9
1.7 安全测试 9
1.8 检查网站的简单问题 10
1.8.1 Fiddler检查404错误 10
1.8.2 Fiddler检查大响应 10
1.9 自动化小工具的开发 11
1.9.1 购票助手 11
1.9.2 自动申请账号工具 12
1.9.3 Fiddler找回密码 12
1.9.4 网络游戏助手 13
1.10 概念的区别 13
1.10.1 抓包和录制的区别 13
1.10.2 自动化测试和爬虫的区别 13
1.10.3 自动化测试和外挂的区别 13
1.11 本章小结 13
第 2章 Fiddler如何抓包 14
2.1 Fiddler必须要做的3个设置 14
2.1.1 第 1个设置:在Fiddler中安装证书 14
2.1.2 第 2个设置:自动解压HTTP响应 14
2.1.3 第3个设置:隐藏“Tunnel to”请求 15
2.2 不允许抓包 16
2.2.1 某些App抓不到包 16
2.2.2 HTTP请求和响应全部加密 16
2.2.3 不让抓包 16
2.3 Fiddler抓不到包 17
2.3.1 Fiddler的抓包开关 17
2.3.2 浏览器抓不到包 17
2.3.3 能抓HTTP不能抓HTTPS的请求 18
2.3.4 抓不到中的包 19
2.3.5 经过上面的设置,还是抓不到包 20
2.3.6 在macOS中抓包 20
2.3.7 Fiddler证书安装不成功 20
2.3.8 iOS 10.3以上,手动信任证书 21
2.4 Fiddler包太多找不到自己想要的 22
2.4.1 停止抓包 22
2.4.2 只抓,不抓本地的包 22
2.4.3 过滤会话 23
2.4.4 只抓特定的进程 23
2.4.5 观察URL和HOST 23
2.4.6 查看进程发包 24
2.5 HTTPS是否安全 24
2.6 计算机连接热点抓包 24
2.7 用Fiddler测试App升级 25
2.7.1 App升级原理 25
2.7.2 App升级的测试 26
2.7.3 坚果云的升级 26
2.8 短链接 27
2.8.1 短链接原理解析 27
2.8.2 使用短链接 27
2.8.3 用Fiddler抓包短链接 28
2.9 本章小结 28
第3章 Session分类和查询 29
3.1 Session的概念 29
3.2 为什么Fiddler中有这么多Session 29
3.3 Session的类型 30
3.4 搜索Session 31
3.4.1 搜索登录的会话 31
3.4.2 在请求搜索框中搜索 32
3.5 用命令行工具查询Session 32
3.5.1 通过select命令过滤 32
3.5.2 通过allbut过滤 33
3.5.3 通过“ ”过滤 33
3.5.4 通过Session类型的大小来过滤 34
3.5.5 通过“=HTTP方法”过滤 35
3.5.6 通过@Host过滤 35
3.5.7 通过“=状态码”过滤 35
3.6 给Session下断点 36
3.6.1 下断点拦截HTTP请求 36
3.6.2 下断点拦截HTTP响应 37
3.6.3 及时取消断点 37
3.7 本章小结 37
第4章 FiddlerScript的*级用法 38
4.1 FiddlerScript的界面 38
4.2 Fiddler的事件函数 38
4.3 在FiddlerScript中使用正则表达式 39
4.4 忽略抓包 39
4.5 显示客户端和服务器的IP 40
4.6 显示响应时间 41
4.7 读写本地txt文件 42
4.8 保存请求 42
4.9 重新发送请求 43
4.10 本章小结 43
第5章 常见的抓包工具 44
5.1 常见的抓包工具 44
5.2 浏览器*发者工具 44
5.2.1 调出*发者工具 44
5.2.2 用Chrome测试网页加载时间 45
5.2.3 用Chrome捕获网站登录的POST请求 45
5.2.4 用Chrome测试接口的响应时间 46
5.2.5 过滤请求 47
5.3 vConsole 47
5.4 Charles抓包工具 48
5.4.1 Charles工具的安装与使用方法 48
5.4.2 在Charles中安装根证书 48
5.4.3 Charles配置规则 50
5.4.4 用Charles捕捉网站登录的请求 50
5.5 Wireshark抓包工具 51
5.5.1 用Wireshark捕捉HTTP 51
5.5.2 用Wireshark捕捉HTTPS 53
5.6 本章小结 55
第6章 用Python发送HTTP请求 56
6.1 requests框架介绍 56
6.1.1 在pip中安装requests框架 56
6.1.2 在PyCharm中安装requests框架 56
6.2 发送GET请求 57
6.2.1 用Fiddler捕获Python发出的HTTP请求 58
6.2.2 发送HTTPS请求 59
6.2.3 发送带参数的GET请求 59
6.2.4 发送带信息头的请求 60
6.3 发送POST请求 61
6.3.1 发送普通POST请求 61
6.3.2 发送JSON的POST请求 61
6.4 会话维持 62
6.5 用Python发送各种请求 62
6.6 用Python文件 63
6.6.1 用Python图片 63
6.6.2 用Python视频 63
6.7 本章小结 63
第7章 用正则表达式提取数据 64
7.1 正则表达式测试工具 64
7.2 利用正则表达式提取数据 64
7.3 提取订单号 64
7.4 提取token字符串 66
7.5 从JSON字符串中提取 67
7.6 提取Cookie字符串 67
7.7 爬虫提取数据 68
7.8 本章小结 68
第8章 HTTP的9种请求方法 69
8.1 HTTP常见的9种请求方法 69
8.2 HTTP幂等性 69
8.3 9种请求方法的特性 70
8.4 HTTP和数据的增删改查操作的对应关系 70
8.5 PUT方法 70
8.5.1 POST方法和PUT方法的区别 71
8.5.2 PUT方法和POST方法的选择 71
8.6 DELETE方法 71
8.7 HEAD方法 72
8.8 OPTIONS方法 73
8.9 CONNECT方法 73
8.10 PATCH方法 74
8.11 TRACE方法 74
8.12 本章小结 75
第9章 内容类型 76
9.1 Content-Type介绍 76
9.1.1 Content-Type的格式 76
9.1.2 常见的Content-Type 77
9.2 POST提交数据的方式 77
9.3 3种常见的POST提交数据的方式 78
9.3.1 application/x-www-form-
urlencoded 78
9.3.2 application/json 79
9.3.3 text/xml 79
9.4 HTTP中的负荷 79
9.4.1 请求负荷 80
9.4.2 响应负荷 81
9.5 错误的POST提交方法 81
9.6 根据接口文档调用接口实例 81
9.7 键值对和JSON的混合 82
9.8 本章小结 83
第 10章 HTTP上传和 84
10.1 HTTP上传文件的两种方式 84
10.2 multipart/form-data 84
10.2.1 对禅道上传图片的操作进行抓包 85
10.2.2 使用JMeter模拟上传图片 87
10.2.3 使用Python上传图片 88
10.3 application/octet-stream 88
10.3.1 在博客园的文章中上传图片 88
10.3.2 用JMeter模拟博客园上传图片 90
10.3.3 用Python模拟博客园上传图片 91
10.4 用HTTP文件 92
10.4.1 用JMeter文件 92
10.4.2 用Python实现文件 93
10.5 HTTP断点续传 94
10.5.1 HTTP请求信息头 94
10.5.2 HTTP分段实例 94
10.6 本章小结 95
第 11章 HTTP对各种类型程序的抓包 96
11.1 用Fiddler抓取视频 96
11.2 用Fiddler抓音频文件 97
11.3 用Fiddler抓Flash 97
11.4 用Fiddler抓公众号 98
11.5 用Fiddler抓包小程序 99
11.6 用AJAX抓包 99
11.7 用Fiddler抓包C# 100
11.8 用Fiddler抓包Java 100
11.9 用Fiddler抓包Postman 101
11.10 用Fiddler捕获macOS 101
11.11 用Fiddler捕获Linux系统 103
11.12 用Fiddler抓包坚果云 103
11.13 本章小结 104
第 12章 自动登录和登录安全 105
12.1 登录的较量 105
12.2 登录的风险 105
12.2.1 冒用他人账户登录 106
12.2.2 账户和密码在传输过程中被截获 106
12.2.3 密码被 106
12.2.4 系统被爬虫软件或者脚本自动登录 106
12.3 登录的风控 106
12.4 登录用GET还是POST 106
12.4.1 GET方法的缺点 107
12.4.2 POST比GET安全 107
12.4.3 使用GET方法登录的网站 108
12.5 安全的原则 108
12.6 使用POST方法登录的网站 109
12.7 登录响应携带隐藏的token字符串 110
12.8 用JavaScript中的MD5给密码加密 112
12.9 用JavaScript动态加密密码 114
12.9.1 绕开JS混淆密码 115
12.9.2 JS混淆密码总结 116
12.10 短信验证码登录 116
12.11 二维码扫码登录 117
12.12 拼图登录 117
12.13 普通图片验证登录 117
12.14 独特的验证方式 118
12.15 本章小结 119
第 13章 图片验证码识别 120
13.1 图片验证码 120
13.1.1 图片验证码原理 121
13.1.2 图片识别介绍 121
13.1.3 Tesseract的安装与使用 121
13.1.4 Tesseract的使用 122
13.1.5 pytesseract的使用 122
13.2 用Python实现图片验证码登录 123
13.3 本章小结 124
第 14章 综合实例——自动点赞 125
14.1 给文章自动点赞 125
14.1.1 拼图验证方式 125
14.1.2 直接使用Cookie绕过登录 126
14.1.3 分析点赞的HTTP请求 126
14.2 用JMeter实现博客园文章自动点赞 129
14.3 使用Python实现博客园文章自动点赞 130
14.4 本章小结 131
第 15章 前端和后端 132
15.1 Web架构图 132
15.2 前端开发和后端开发的区别 133
15.2.1 展示方式不同 133
15.2.2 运行不同 133
15.2.3 全栈工程师 133
15.2.4 前端和后端分离 134
15.3 前端验证和后端验证 134
15.3.1 前端验证 134
15.3.2 后端验证 135
15.3.3 前端验证和后端验证都需要 136
15.4 后端验证的Bug 136
15.5 Fiddler绕过前端实现投票 137
15.6 后台和后台管理的区别 138
15.7 本章小结 139
第 16章 接口和接口测试 140
16.1 接口的概念 140
16.1.1 后端接口 140
16.1.2 在线英语App示例 141
16.1.3 “我的订单”的前端和接口 141
16.2 登录接口示例 142
16.3 接口文档的维护 143
16.3.1 用Word文档维护 143
16.3.2 用Wiki页面维护 143
16.3.3 Swagger 143
16.3.4 调用接口的方式 145
16.4 接口测试的工具 145
16.5 接口测试的本质 146
16.6 接口测试的目的 147
16.6.1 接口测试的优势 147
16.6.2 接口测试是必需的吗 147
16.6.3 接口测试需要的知识 148
16.6.4 接口测试的流程 148
16.6.5 接口测试的测试内容 148
16.6.6 后端接口和前端测试是否重复 149
16.7 登录接口的测试用例 149
16.8 接口测试是自动化测试吗 149
16.9 如何设计接口测试用例 150
16.10 接口内部状态码 151
16.11 本章小结 152
第 17章 JSON数据格式 153
17.1 JSON格式在接口中的应用 153
17.2 JSON的概念 153
17.3 JSON的应用场合 153
17.4 JSON的语法 154
17.5 JSON值的类型 154
17.6 JSON应该使用双引号 154
17.7 JSON数组 155
17.8 JSON的嵌套 155
17.9 JSON格式错误 156
17.10 JSON解析工具 156
17.10.1 在线的解析工具 156
17.10.2 Notepad++格式化JSON 156
17.10.3 在JMeter中格式化JSON 157
17.10.4 在Fiddler中格式化JSON 157
17.11 拼接JSON字符串 158
17.12 JMeter中的JSON提取器 159
17.13 本章小结 160
第 18章 HTTP和RESTful服务 161
18.1 什么是RESTful 161
18.2 RESTful的优点 162
18.3 RESTful的主要原则 162
18.3.1 以资源为核心 162
18.3.2 每个资源分配唯*的URL 163
18.3.3 通过标准的HTTP(HTTPS)方法操作资源 163
18.3.4 过滤信息 164
18.3.5 资源的表现层可以是XML、JSON或者其他 164
18.3.6 认证机制 165
18.3.7 错误处理 165
18.4 本章小结 165
第 19章 用Postman测试分页接口 166
19.1 接口介绍 166
19.2 设计测试用例 167
19.3 用Postman实现接口自动化 167
19.3.1 Postman介绍 167
19.3.2 Postman的使用 167
19.4 接口测试的发展方向 170
19.5 本章小结 170
第 20章 用JMeter测试单个接口 171
20.1 JMeter介绍 171
20.2 添加客房接口介绍 171
20.3 设计接口的测试用例 172
20.4 JMeter的操作过程 172
20.5 数据驱动测试 175
20.6 本章小结 177
第 21章 接口的token认证 178
21.1 接口的认证 178
21.2 token认证 178
21.2.1 调用天气预报接口 180
21.2.2 token和Cookie的区别 181
21.3 token和Cookie一起用 182
21.4 在JMeter中如何处理token字符串 182
21.5 接口的三大安全性问题 185
21.6 请求参数被篡改 186
21.7 重放攻击 186
21.7.1 在Fiddler中进行重放攻击 187
21.7.2 UNIX时间戳 187
21.7.3 接口带时间戳和签名 188
21.8 本章小结 188
第 22章 发包常见的错误 189
22.1 发包的本质 189
22.2 对比HTTP请求 189
22.3 用JMeter发包常见的错误 190
22.3.1 输入的网址错误 190
22.3.2 端口号填错 191
22.3.3 协议错误 191
22.3.4 变量取值错误 191
22.3.5 服务器返回404错误 192
22.3.6 服务器返回400错误 192
22.3.7 服务器返回500错误 192
22.4 Postman发包常见问题 193
22.5 JMeter和Postman的区别 193
22.6 接口测试寻求帮助 194
22.7 本章小结 195
第 23章 秒杀活动的压力测试 196
23.1 秒杀活动的压力测试方案 196
23.1.1 秒杀的原理 196
23.1.2 测试目标 197
23.1.3 业务分析 197
23.1.4 测试指标 197
23.2 使用Fiddler来测试秒杀活动 198
23.2.1 用Fiddler重新发送HTTP请求 198
23.2.2 用Fiddler测试秒杀活动的思路 198
23.2.3 用Fiddler测试优惠券 199
23.2.4 单线程还是多线程 201
23.2.5 分辨脚本和用户 201
23.3 捕获App上的优惠券活动 201
23.4 使用JMeter来测试秒杀活动 202
23.5 压力测试报告 203
23.6 本章小结 204
第 24章 用Fiddler和JMeter进行 性能测试 205
24.1 性能测试概述 205
24.2 Web页面加载时间测试 206
24.2.1 258原则 206
24.2.2 实例:博客园页面加载时间测试 206
24.3 接口的响应时间测试 208
24.4 视频播放的性能测试 210
24.5 模拟5个用户同时登录网站 210
24.6 模拟5个不同的用户同时登录网站 212
24.7 本章小结 213
第 25章 HTTP中的支付安全测试 214
25.1 修改支付价格 214
25.2 漏洞发生的原因 215
25.3 支付漏洞的解决方法 216
25.3.1 前端不传递金额 216
25.3.2 签名防止数据被篡改 217
25.4 修改充值金额测试 217
25.5 多线程提现测试 218
25.6 转账金额修改测试 219
25.7 重复支付 220
25.8 本章小结 221
第 26章 Web安全渗透测试 222
26.1 敏感信息泄露测试 222
26.2 重置密码测试 222
26.3 修改任意账号的邮箱密码 225
26.4 Cookie是否是HttpOnly属性 225
26.5 越权访问漏洞 226
26.6 资源必须登录才能访问 227
26.7 修改VIP会员到期时间 228
26.8 本章小结 229
第 27章 综合实例——自动提交订单 230
27.1 背景 230
27.2 回归测试 230
27.3 让回归测试自动化 231
27.4 产品的架构 231
27.5 自动化测试方案 231
27.6 哪些测试用例可以自动化 232
27.7 下单的测试用例 233
27.8 用JMeter实现自动提交订单 233
27.9 用Python实现自动提交订单 236
27.10 用JMeter实现自动取消订单 237
27.11 用Python实现自动取消订单 239
27.12 模拟100个用户同时下1000个订单 240
27.13 本章小结 241
第 28章 综合实例——自动申请账号 242
28.1 一键申请账号 242
28.2 用JMeter实现自动创建用户 245
28.3 本章小结 248
第 29章 综合实例——自动签到领积分 249
29.1 自动签到的思路 249
29.2 抓包 249
29.3 某电商签到领豆子 249
29.4 某金融App签到 251
29.5 自动运行脚本 252
29.5.1 Python脚本利用Windows计划定时执行 252
29.5.2 在Jenkins中定时执行 253
29.6 本章小结 253
第30章 综合实例——App约课助手 254
30.1 App约课助手的思路 254
30.2 自动化方案 254
30.3 模拟App端还是Web端 254
30.4 网课约课助手开发 255
30.4.1 第 1埠模拟登录 255
30.4.2 第 2埠获取课程ID 258
30.4.3 第3埠约课 259
30.5 本章小结 260



作者介绍

《HTTP抓包实战》 肖佳, VMware*级测试工程师,博客园知名博主(网名小坦克),撰写了很多软件开发和测试方面的技术文章;有10多年的软件开发测试经验,有丰富的手动测试和自动化测试经验;个人博客阅读量已经超过500万,乐于分享,善于用浅显的语言来讲解技术。 《HTTP抓包之接口自动化测试》 肖佳,Vmware*级测试工程师,博客园知名博主(网名小坦克),《HTTP抓包实战》一书的作者,软件测试培训构“佳猫教育”创始人;从事软件开发测试工作十余年,有丰富的手动测试和自动化测试经验;个人博客阅读量已经超过500万,乐于分享,善于用浅显的语言来讲解技术。
智囊图书专营店热门设计联盟服务商