HTTP抓包之接口自动化测试
全新正版 极速发货
¥
52
7.5折
¥
69
全新
库存2件
作者肖佳
出版社人民邮电出版社
ISBN9787115534316
出版时间2020-12
装帧平装
开本16开
定价69元
货号31014698
上书时间2025-01-07
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
肖佳,Vmware高级测试工程师,博客园知名博主(网名小坦克),《HTTP抓包实战》一书的作者,软件测试培训构“佳猫教育”创始人;从事软件开发测试工作十余年,有丰富的手动测试和自动化测试经验;个人博客阅读量已经超过500万,乐于分享,善于用浅显的语言来讲解技术。
目录
第 1章 抓包的用处1
1.1 Fiddler抓包的应用1
1.2 学习HTTP2
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 排除故障和定位Bug6
1.5 前端开发人员使用Fiddler调试Web8
1.5.1 后端接口Mock8
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和HOST23
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中有这么多Session29
3.3 Session的类型30
3.4 搜索Session31
3.4.1 搜索登录的会话31
3.4.2 在请求搜索框中搜索32
3.5 用命令行工具查询Session32
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 显示客户端和服务器的IP40
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 vConsole47
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捕捉HTTP51
5.5.2 用Wireshark捕捉HTTPS53
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-Type77
9.2 POST提交数据的方式77
9.3 3种常见的POST提交数据的方式78
9.3.1 application/x-www-form-
urlencoded78
9.3.2 application/json79
9.3.3 text/xml79
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-data84
10.2.1 对禅道上传图片的操作进行抓包85
10.2.2 使用JMeter模拟上传图片87
10.2.3 使用Python上传图片88
10.3 application/octet-stream88
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抓Flash97
11.4 用Fiddler抓公众号98
11.5 用Fiddler抓包小程序99
11.6 用AJAX抓包99
11.7 用Fiddler抓包C#100
11.8 用Fiddler抓包Java100
11.9 用Fiddler抓包Postman101
11.10 用Fiddler捕获macOS101
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还是POST106
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 后端验证的Bug136
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 Swagger143
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++格式化JSON156
17.10.3 在JMeter中格式化JSON157
17.10.4 在Fiddler中格式化JSON157
17.11 拼接JSON字符串158
17.12 JMeter中的JSON提取器159
17.13 本章小结160
第 18章 HTTP和RESTful服务161
18.1 什么是RESTful161
18.2 RESTful的优点162
18.3 RESTful的主要原则162
18.3.1 以资源为核心162
18.3.2 每个资源分配唯一的URL163
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个用户同时登录网站10
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
— 没有更多了 —
以下为对购买帮助不大的评价