Major 发表于 2022-12-11 11:19:28

GM_cookie的set怎么用

有知道 GM_cookie 设置Cookie的方法吗,最好能有一个demo,我这样写的貌似不成功


if(r.length>0){
    for(var i=0;i<r.length;i++){
      GM_cookie('set',{
            domain:'127.0.0.1',
            name:r.name,
            value:r.value
      })
    };
};

cxxjackie 发表于 2022-12-11 11:38:10

看起来好像没错,是不是你在设置cookie后立即做了发请求之类的操作?GM_cookie是个异步函数,需要在第三个参数里等待操作完成,写循环的话最好封装一下,可以试试这个:https://bbs.tampermonkey.net.cn/thread-3722-1-1.html

Major 发表于 2022-12-11 11:43:54

cxxjackie 发表于 2022-12-11 11:38
看起来好像没错,是不是你在设置cookie后立即做了发请求之类的操作?GM_cookie是个异步函数,需要在第三个 ...

设置之后没有发请求,在浏览器工具里面查看也没有设置的cookie

Major 发表于 2022-12-11 11:51:56

cxxjackie 发表于 2022-12-11 11:38
看起来好像没错,是不是你在设置cookie后立即做了发请求之类的操作?GM_cookie是个异步函数,需要在第三个 ...

我想获取一个网址的Cookie 然后设置到另外一个网址域名下,下面是代码,貌似设置没成功,能帮改进一下吗
(function() {
    //
    console.log('准备开始获取Cookie');
    const cookieDic = {}
    GM_cookie('list',{
      domain:'taobao.com'
    },(r)=>{
      if(r.length>0){
            for(var i=0;i<r.length;i++){
                GM_cookie('set',{
                  url:'127.0.0.1',
                  domain:'127.0.0.1',
                  name:r.name,
                  value:r.value
                })
                console.log('设置Cookie',r.name,r.value);
            };
      };
    })


})();

wwwwwllllk 发表于 2022-12-11 12:20:28

我刚才也遇到了这个问题,然后就有人问了

wwwwwllllk 发表于 2022-12-11 12:31:17

刚才在写掘金脚本的时候发现,它的请求都会另外一个请求获取set-cookie然后携带上set-cookie的内容再发送请求。
因为我刚才写的是后台脚本,所以我也要先从另外一个请求拿到set-cookie再发送请求。

然后我看别人的脚步,他就没有这样做,但是是没问题的。然后我发现他写的是网页脚步,是在网页上执行的。当他执行一些请求的时候,之前网页已经帮忙处理好了(好像是这个原因,我自己还没有实际验证,感觉是这样)

cxxjackie 发表于 2022-12-11 12:57:49

本帖最后由 cxxjackie 于 2022-12-11 13:20 编辑

Major 发表于 2022-12-11 11:51
我想获取一个网址的Cookie 然后设置到另外一个网址域名下,下面是代码,貌似设置没成功,能帮改进一下吗
...
可能是127.0.0.1的问题,你换成一个实际的网址再试试。以那个库为例子的话,可以写成这样:
(忘了改domain了,编辑一下)
(async function() {
    const cookie1 = await gmCookie('https://www.baidu.com/');
    const cookie2 = await gmCookie('https://www.taobao.com/');
    for (const name in cookie1) {
      cookie2 = {
            ...cookie1,
            domain: 'taobao.com'
      }
    }
})();


王一之 发表于 2022-12-11 19:51:50

相关demo:

https://github.com/scriptscat/scriptcat/blob/main/example/gm_cookie.js
页: [1]
查看完整版本: GM_cookie的set怎么用