🥞 Cookie
# Set-Cookie 响应头
Cookie 在本质上是通过HTTP请求的请求头和响应头进行传输和交互的
而服务端发起的设置 Cookie 命令,是通过名为Set-Cookie
的响应头传回给客户端的
所以可以通过Set-Cookie
的响应头来或许 Cookie 信息
// 通过 Set-Cookie 响应头获取 Cookie 信息
String cookieValue = response.getHeaderValue("Set-Cookie");
// 解析 Cookie 信息
1
2
3
2
3
但这么做的弊端就是需要自己手动解析 Cookie 信息,十分不便
# 获取 Cookie 对象
ForestResponse 对象提供了直接获取解析后的 Cookie 对象的方法
getCookie(String name)
: 根据Cookie名称获取Cookie
- 版本 : v1.5.23+
- 参数
name
: Cookie 名称
// 获取名为 userInfo 的 Cookie 对象
ForestCookie cookie = response.getCookie("userInfo");
// 获取 Cookie 名称
String name = cookie.getName();
// 获取 Cookie 值
String value = cookie.getValue();
// 获取 Cookie 创建时间
Date createTime = cookie.getCreateTime();
// 获取 Cookie 最大有效时长
Duration duration = cookie.getMaxAge();
// 获取 Cookie 所在域名
String domain = cookie.getDomain();
// 获取 Cookie 所在路径
String path = cookie.getPath();
// 是否仅限HTTPS
boolean bSecure = cookie.isSecure();
// 是否仅限HTTP方式读取
boolean bHttpOnly = cookie.isHttpOnly();
// 是否持久化
boolean bPersistent = cookie.isPersistent();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 获取所有 Cookie
getCookies()
: 从响应头中获取所有的 Cookie 对象列表
- 版本 : v1.5.23+
- 参数
name
: Cookie 名称 - 返回值 : Cookie 对象列表
// 获取所有的 Cookie 对象列表
List<ForestCookie> cookies = response.getCookies();
for (ForestCookie cookie : cookies) {
// 获取 Cookie 名称
String name = cookie.getName();
// 获取 Cookie 值
String value = cookie.getValue();
// 获取 Cookie 创建时间
Date createTime = cookie.getCreateTime();
// 获取 Cookie 最大有效时长
Duration duration = cookie.getMaxAge();
// 获取 Cookie 所在域名
String domain = cookie.getDomain();
// 获取 Cookie 所在路径
String path = cookie.getPath();
// 是否仅限HTTPS
boolean bSecure = cookie.isSecure();
// 是否仅限HTTP方式读取
boolean bHttpOnly = cookie.isHttpOnly();
// 是否持久化
boolean bPersistent = cookie.isPersistent();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
帮助我们改善此文档 (opens new window)
上次更新: 2023/06/19, 17:37:19