renho
发表于 2022-2-10 18:14:00
清晰明了
Chelsey.Wang
发表于 2022-2-11 11:34:41
guoqp 发表于 2022-2-10 17:58
以值与复活结构POST都失败了,但同样的数据我在其它软件没问题,不知道是不是操作问题
下边看下 ...
理论上,cookie的作用过程大概是这样的:Cookie会根据从服务器端返回的响应报文内这个 Set-Cookie 的首部字段信息,通知浏览器保存 Cookie。然后当下次再往该服务器发送请求时,浏览器就会自动在请求报文请求头中加入 Cookie 值后发送出去。也就是说这里其实是不需要我们自己去取的,浏览器自动就帮我们做了从响应头中取、储存、在请求头中发送这些事情。
看您截图中post请求响应报文中是有 Set-Cookie 的,也就是说其实是已经收到post请求响应头返回的cookie了;接下来需要先确认,浏览器是否将cookie保存。因此您需要确认:
1.浏览器设置中,是否允许保存对应站点的cookie
2.如果已允许,可以打开“查看所有cookie和站点”,确认浏览器是否保存了对应的cookie;
在这里可以查看当前站点所使用的cookie
如果上述确认无误,然后可以在浏览器发送您的第二个请求,也就是您的GET请求,然后再F12,确认请求头中是否加入了cookie
比如:
我这里先发送一个登录请求,可以看到响应头中Set-Cookie
然后再向该服务器发送其他请求,可以看到,请求头中会自动带上上面保存在浏览器中的cookie
renho
发表于 2022-2-11 11:55:09
Chelsey.Wang 发表于 2022-2-11 11:34
理论上,cookie的作用过程大概是这样的:Cookie会根据从服务器端返回的响应报文内这个 Set-Cookie 的首部 ...
浏览器当然会自动带上,问题是 活字格 的发送http请求,不会自动带上cookie。
Chelsey.Wang
发表于 2022-2-11 12:30:41
本帖最后由 Chelsey.Wang 于 2022-2-11 15:56 编辑
renho 发表于 2022-2-11 11:55
浏览器当然会自动带上,问题是 活字格 的发送http请求,不会自动带上cookie。
没太理解大佬您的意思,如果浏览器已经自动带上cookie了,为什么发送请求命令中还要再带一遍呢?我这边使用发送HTTP请求命令时,发送请求时也是会自动带上cookie的呀。
HTTP请求命令:
清除cookie,没有登录时,发送http请求,可以看到,这个时候请求头是没有cookie的:
登录,set-cookie
再次发送http请求,可以看到,这个时候请求头中就会带上cookie了
renho
发表于 2022-2-11 14:41:43
Chelsey.Wang 发表于 2022-2-11 12:30
没太理解大佬您的意思,如果浏览器已经自动带上cookie了,为什么发送请求命令中还要再带一遍呢?我这边使 ...
感谢耐心解答
是我草率了
其实是这么回事
应用场景如下
比如 请求一个网址 服务器返回1个cookie
cookie里面有个属性为 token 值为 abcdefg
有些系统 后续继续请求 需要这么进行认证认证
后续post的时候需要把上面那个值 添加到HTTP头
如:token:abcdefg
如此 这样进行验证请求的合法性
Chelsey.Wang
发表于 2022-2-11 17:30:03
renho 发表于 2022-2-11 14:41
感谢耐心解答
是我草率了
其实是这么回事
明白您的意思了,那这里的cookie应该可以通过JS取到吧:
JavaScript Cookie | 菜鸟教程 (runoob.com)
renho
发表于 2022-2-11 18:15:49
Chelsey.Wang 发表于 2022-2-11 17:30
明白您的意思了,那这里的cookie应该可以通过JS取到吧:
JavaScript Cookie | 菜鸟教程 (runoob.com)
JS需要解决跨域问题
Chelsey.Wang
发表于 2022-2-14 17:20:51
renho 发表于 2022-2-11 18:15
JS需要解决跨域问题
大佬,和您确认一下,您这里是在前端发送的http请求还是在服务端命令中发送的呢?
renho
发表于 2022-2-14 17:53:09
Chelsey.Wang 发表于 2022-2-14 17:20
大佬,和您确认一下,您这里是在前端发送的http请求还是在服务端命令中发送的呢?
服务端命令……好像我们说的不是同一个,前端确实可以用js操作,但是跨域麻烦。后端不需要跨域,但是没法操作cookie,除非自己写api。
当然,现在说的是服务端命令,不支持返回cookie这个问题
Chelsey.Wang
发表于 2022-2-15 12:07:45
renho 发表于 2022-2-14 17:53
服务端命令……好像我们说的不是同一个,前端确实可以用js操作,但是跨域麻烦。后端不需要跨域,但是没法 ...
确实;P理解大佬的意思了,目前确实不能直接支持这个功能。
这个需求我已经整理和记录到需求列表当中了,编号:40811,后续会由产品组统一评估,感谢大家的支持和反馈~