上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: Major - 

GM_cookie的set怎么用

[复制链接]

该用户从未签到

16

主题

56

回帖

91

积分

初级工程师

积分
91

新人报道

发表于 2022-12-11 11:19:28 | 显示全部楼层 | 阅读模式

有知道 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[i].name,
value:r[i].value
})
};
};

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

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

    使用道具 举报

    该用户从未签到

    16

    主题

    56

    回帖

    91

    积分

    初级工程师

    积分
    91

    新人报道

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

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

    使用道具 举报

    该用户从未签到

    16

    主题

    56

    回帖

    91

    积分

    初级工程师

    积分
    91

    新人报道

    发表于 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);
                };
            };
        })


    })();
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-7-16 15:40
  • 签到天数: 276 天

    [LV.8]以坛为家I

    115

    主题

    460

    回帖

    997

    积分

    荣誉开发者

    积分
    997

    荣誉开发者油中2周年卓越贡献生态建设者油中3周年

    发表于 2022-12-11 12:20:28 | 显示全部楼层
    我刚才也遇到了这个问题,然后就有人问了
    接脚本定制
    I frequently record, because want to leave something.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-7-16 15:40
  • 签到天数: 276 天

    [LV.8]以坛为家I

    115

    主题

    460

    回帖

    997

    积分

    荣誉开发者

    积分
    997

    荣誉开发者油中2周年卓越贡献生态建设者油中3周年

    发表于 2022-12-11 12:31:17 | 显示全部楼层
    刚才在写掘金脚本的时候发现,它的请求都会另外一个请求获取set-cookie然后携带上set-cookie的内容再发送请求。
    因为我刚才写的是后台脚本,所以我也要先从另外一个请求拿到set-cookie再发送请求。

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

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-12-11 12:57:49 | 显示全部楼层
    本帖最后由 cxxjackie 于 2022-12-11 13:20 编辑
    Major 发表于 2022-12-11 11:51
    我想获取一个网址的Cookie 然后设置到另外一个网址域名下,下面是代码,貌似设置没成功,能帮改进一下吗
    ...

    可能是127.0.0.1的问题,你换成一个实际的网址再试试。以那个库为例子的话,可以写成这样:
    (忘了改domain了,编辑一下)
    1. (async function() {
    2.     const cookie1 = await gmCookie('https://www.baidu.com/');
    3.     const cookie2 = await gmCookie('https://www.taobao.com/');
    4.     for (const name in cookie1) {
    5.         cookie2[name] = {
    6.             ...cookie1[name],
    7.             domain: 'taobao.com'
    8.         }
    9.     }
    10. })();
    复制代码



    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 13:37
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4193

    回帖

    4059

    积分

    管理员

    积分
    4059

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2022-12-11 19:51:50 | 显示全部楼层
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表