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

GM_xmlhttpRequest获取的cookie 和 document.cookie 不一致

[复制链接]

该用户从未签到

16

主题

56

回帖

90

积分

初级工程师

积分
90

新人报道

发表于 2023-2-19 14:07:41 | 显示全部楼层 | 阅读模式
悬赏1油猫币已解决

本帖最后由 Major 于 2023-2-19 14:11 编辑

在使用GM_xmlhttpRequest发送请求时,发现请求头中会自动携带一个GM_xmlhttpRequest获取的cookie,

这个cookie 和 document.cookie 获取到的值不一样。导致请求网站验证失败。

然后尝试了手动在请求头中加入 'Cookie':document.cookie, 但是请求抓包发现,实际发送出去的cookie 是 GM_xmlhttpRequest自己的cookie 和 document.cookie 拼接的结果。然后仍然导致请求失败

有没有知道这个问题怎么解决的方式或者方法

GM_xmlhttpRequest({
    method: "POST",
    url: 'https://kdcs-api/list',
    // cookie:window.document.cookie,
    headers: {
        // 'Content-Length': 247,
        'Cookie':document.cookie,
        'Accept': 'application/json, text/plain, */*',
        'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
        'Content-Type': 'application/json;charset=UTF-8',
        'token': getCookie('access_token')
    },
    data:JSON.stringify({
        'pageSize': 500,
        'pageIndex': 1,
        'noticeType': '0',
        'notifyStatus': '4',
        'sort': 'desc',
        'cooperationName': ''
    }),
    onload: function(mesage){
        if(mesage.status === 200){
            try {
                let getmes = JSON.parse(mesage.responseText);
            } catch (error) {
                console.log("send-result:",mesage.responseText);
            };
        }else{
            console.log('send success erro,start_code:'+String(mesage.status))
        };
    },
    onerror : function(err){
        console.log('send success erro:',err)
    }
});

最佳答案

查看完整内容

位置是对的,改成anonymous:true就行了,意思是无名为真
  • TA的每日心情
    慵懒
    昨天 10:38
  • 签到天数: 588 天

    [LV.9]以坛为家II

    43

    主题

    184

    回帖

    700

    积分

    荣誉开发者

    积分
    700

    荣誉开发者油中2周年生态建设者

    发表于 2023-2-19 14:07:42 | 显示全部楼层
    Major 发表于 2023-2-19 15:58
    加在哪个位置,我加的对吗,加了之后抓包发现还有

    位置是对的,改成anonymous:true就行了,意思是无名为真
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 23:59
  • 签到天数: 634 天

    [LV.9]以坛为家II

    30

    主题

    535

    回帖

    1408

    积分

    荣誉开发者

    积分
    1408

    荣誉开发者新人进步奖油中2周年生态建设者新人报道挑战者 lv2油中3周年喜迎中秋

    发表于 2023-2-19 15:03:32 | 显示全部楼层

    可以加一个方法anonymous:false,强制不发送默认自动带的cookie,然后自己手动选需要的cookie

    回复

    使用道具 举报

    该用户从未签到

    16

    主题

    56

    回帖

    90

    积分

    初级工程师

    积分
    90

    新人报道

    发表于 2023-2-19 15:58:04 | 显示全部楼层
    steven026 发表于 2023-2-19 15:03
    [md]可以加一个方法`anonymous:false,`强制不发送默认自动带的cookie,然后自己手动选需要的cookie[/md] ...

    加在哪个位置,我加的对吗,加了之后抓包发现还有

    1.     ruku_request2_tuxi:function (headers,data){
    2.         return new Promise(function(resolve){
    3.             GM_xmlhttpRequest({
    4.                 method: "POST",
    5.                 anonymous:false,
    6.                 url: 'https://kdcs-api.tuxi.com/public/enterSingle',
    7.                 headers: headers,
    8.                 data:JSON.stringify(data),
    9.                 onload: function(mesage){
    10.                     if(mesage.status === 200){
    11.                         try {
    12.                             let data = JSON.parse(mesage.responseText);
    13.                             resolve(data);
    14.                         } catch (error) {
    15.                             console.log("send-result:",mesage.responseText);
    16.                         };
    17.                     }else{
    18.                         console.log('send success but meting erro,start_code:'+String(mesage.status))
    19.                     };
    20.                 },
    21.                 onerror : function(err){
    22.                     console.log('send success erro:',err)
    23.                 }
    24.             });
    25.         });
    26.     },
    复制代码
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 23:59
  • 签到天数: 634 天

    [LV.9]以坛为家II

    30

    主题

    535

    回帖

    1408

    积分

    荣誉开发者

    积分
    1408

    荣誉开发者新人进步奖油中2周年生态建设者新人报道挑战者 lv2油中3周年喜迎中秋

    发表于 2023-2-19 18:36:39 | 显示全部楼层
    Major 发表于 2023-2-19 15:58
    加在哪个位置,我加的对吗,加了之后抓包发现还有

    说错了是anonymous:true
    =-=
    回复

    使用道具 举报

    发表回复

    本版积分规则

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