李恒道
发表于 2023-4-29 22:50:01
cxxjackie 发表于 2023-4-29 20:32
没有,我都是自己写的,这个好像不太值得做成库,难度不大。
好的,那我再研究一下
c大
李恒道
发表于 2023-4-29 22:50:26
王一之 发表于 2023-4-29 22:13
我不是推荐了几个么?
我挨个看了一圈...
大部分都是直接管理document上的cookies的...
没看到有独立出来再做合并和过期之类的
王一之
发表于 2023-4-30 01:45:46
李恒道 发表于 2023-4-29 22:50
我挨个看了一圈...
大部分都是直接管理document上的cookies的...
没看到有独立出来再做合并和过期之类的 ...
```js
// ==UserScript==
// @name New Userscript
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1.0
// @descriptiontry to take over the world!
// @author You
// @match https://bbs.tampermonkey.net.cn/
// @require https://scriptcat.org/lib/993/1.0.1/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7%E5%8C%85.js
// @grant GM_xmlhttpRequest
// @connect bbs.tampermonkey.net.cn
// ==/UserScript==
function extractCookies(cookieStr) {
// 移除 "set-cookie: "前缀
const withoutPrefix = cookieStr.replace(/^set-cookie:\s*/, '');
// 使用正则表达式,根据逗号分割字符串,但要排除在expires内的逗号
const splitCookies = withoutPrefix.split(/,\s*(?=\w[^;]*=)/);
return splitCookies;
}
const cookieJar = new tough.CookieJar();
GM_xmlhttpRequest({
url: "https://bbs.tampermonkey.net.cn/",
onload(resp) {
// 提取响应头中的 Set-Cookie 字段
const cookieStrs = extractCookies(resp.responseHeaders.match(/set-cookie: (.+);/));
console.log(resp, cookieStrs);
cookieStrs.forEach((val) => {
cookieJar.setCookie(tough.Cookie.parse(val), "https://bbs.tampermonkey.net.cn/");
});
setTimeout(() => {
cookieJar.getCookies("https://bbs.tampermonkey.net.cn/", function (err, cookies) {
console.log(err, cookies);
});
}, 1000)
}
});
```
让我超,这就是我推荐你的第二个库实现的
李恒道
发表于 2023-4-30 02:04:46
王一之 发表于 2023-4-30 01:45
```js
// ==UserScript==
// @name New Userscript
好猛啊...想挨哥哥超了
王一之
发表于 2023-4-30 09:03:33
cxxjackie 发表于 2023-4-29 20:32
没有,我都是自己写的,这个好像不太值得做成库,难度不大。
只是简单的处理cookie问题不大,但是要符合标准还是挺复杂的
https://www.rfc-editor.org/rfc/rfc6265
王一之
发表于 2023-4-30 09:12:56
李恒道 发表于 2023-4-30 02:04
好猛啊...想挨哥哥超了
挨超!
wjy0
发表于 2023-5-1 03:27:45
ggnb!!!
bigonion
发表于 2023-5-3 14:42:58
道哥nb!!
175339853
发表于 2023-5-9 12:37:38
求问,单点登录,服务端生成的cookie,怎么抓取到它设置给客户端set-cookie的值???httponly属性的
李恒道
发表于 2023-5-9 12:41:24
175339853 发表于 2023-5-9 12:37
求问,单点登录,服务端生成的cookie,怎么抓取到它设置给客户端set-cookie的值???httponly属性的 ...
这个议题还在搞
碰到一些玄学问题还没解决
脚本猫可以解决这个问题
用gm_xhr的匿名模式+tough-cookie管理cookie