Comments (5)
为什么 Cookie 会“过期”
Cookie 是一个可读写的数据存储,网站可以往里面写入任意数据,各个网站自主决定 Cookie 里存什么数据、怎么读取和解析收到的 Cookie 内容。这里的重点是,各个网站自主决定它们怎么使用 Cookie,它就是一个简单的 KV 存储。
网站为了实现登录等功能,可能会在 Cookie 里写一个 session id 之类的值。一个很常见的做法是定时更换 session cookie 的值。一个 session cookie 是否有效完全是服务器说了算。
录播姬的 Cookie 设置
浏览器里的 Cookie 功能是按域名、路径、名字存储的多条记录,发送请求时会根据域名和路径等条件把 cookie 组成一个字符串加到请求头里,会根据 response header 里的 Set-Cookie
修改。
而录播姬里的 Cookie 设置只是一个简单的文本字符串。录播姬会把 Cookie 设置项中的文本原封不动加到部分请求的请求头里 Cookie
一项里,仅此而已。
录播姬不是浏览器,没有完整复刻浏览器里 Cookie 和相关 HTTP Header 的行为,录播姬也不会像浏览器访问网站一样请求页面 HTML 和所有相关的接口。服务器认为它设置了新 Cookie 但录播姬没有更新,是符合预期的。
为什么不自动刷新 Cookie
有技术原因也有非技术原因。长话短说就是模拟浏览器里访问网站,接收、更新、维护 Cookie 内容过于麻烦,不想在录播姬里实现也不想维护相关代码。
如果有需求,可以自己写代码在录播姬外部维护一个可用的 Cookie 然后使用录播姬命令行版的 HTTP API 设置到录播姬里。
为什么不加一个登录功能
同上。
能不能自动测试
建议在录播姬外写脚本实现。可以用 HTTP API 读当前录播姬里设置的 Cookie,或者在外部维护 Cookie 内容再通过 HTTP API 传给录播姬,两个方向都可以。
总结
- Cookie 怎么用、内容是否有效完全由对应的网站决定。
- 录播姬只提供了一个设置 HTTP 请求头
Cookie
一项的值的方法。 - 其他状态维护功能建议在外部实现,用 HTTP API 与录播姬交互。
from bililiverecorder.
Cookie 的过期与否不是录播姬能决定的,决定权在啊b手上;
如果想能够实现 Cookie 更新 / 过期提醒,可通过撰写脚本程序等方式;
涉及啊b账号相关的功能并不想加入到此项目当中,原因的话想想 BiliPlus 便可知。
既然选择了将自己的账号登录态 Cookie 添加进录播姬当中,那么之后所发生的任何情况请自行承担。
如您知晓您的账号会因以上所列出的部分原因导致账号无法正常使用或权益受损等情况,并愿意承担由此所带来的一系列后果,请继续以下的操作,录播姬的开发者不会对您的账号所发生的任何后果承担责任。
from bililiverecorder.
似乎使用浏览器中复制得到的cookie似乎有效期很短(nilaoda/BBDown#507)。BBDown的方式是手机客户端扫描二维码获得一个新的cookie。我现在填写的cookie是BBdown二维码扫描登录,从BBDown.data文件中拷贝过来的,用了一周左右还没有失效。
from bililiverecorder.
Related Issues (20)
- 希望增加批量修复录屏的功能 HOT 1
- 获取直播间信息和获取直播流分开处理是否携带cookie HOT 3
- 不登录只能录制最低画质,请问如何登录? HOT 2
- 统一代码里的 User-Agent
- 限制 webhook 允许发送的域名 HOT 1
- 检测到大航海专属直播时暂停录制 HOT 2
- [v3] 提供在海外录制 HLS 流的方法
- 优化cookie请求逻辑和新增失效检测 HOT 1
- linux客户端直播标题含有特殊字符的时候无法录制 HOT 2
- 菜单项不排序, 实际上是按直播间添加时间排序 HOT 6
- 请问现在只能录到480p的画质了吗,有什么解决方法吗 HOT 5
- 希望桌面版支持搜索已添加的直播间
- 出现大量SessionEnded导致出现很多小分片 HOT 7
- Internal Server Error HOT 2
- 希望能开机自启后自动隐藏到托盘,不显示主界面 HOT 4
- 主播切换分区后检测不到正在直播,无法录制 HOT 1
- 选择/屏蔽某条流服务器 HOT 2
- 有一个直播间无法录制 HOT 1
- 录制虚拟游戏区的时候部分主播无法录制。 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bililiverecorder.