脚本体验师001 发表于 2021-9-18 14:14:52

关于GM_xmlhttpRequest一个诡异事件求解释

用GM_xmlhttpRequest发送一个请求,想携带一段Cookie信息
于是在headers里写
headers: {
      "Cookie:": "xxx=xxx"
}
结果跑通了。
回头一看:"Cookie:": "xxx=xxx",好像不好看呀,人老脑子花眼睛麻,怎么写的这是,
改成 Cookie: "xxx=xxx",
结果跑不通。
改回去,跑通了。改回来,跑不通。
咦!携带Cookie还有这种玄学成分的吗?
求解释求安慰,求帮擦眼泪

王一之 发表于 2021-9-18 14:14:53

脚本体验师001 发表于 2021-9-18 14:57
悬赏就是发现问题解决问题,没有诚意的悬赏都是耍流氓
      obj.getShareList_mobile = function (sha ...
http.ajax等价GM_xhr?

哥哥使用的油猴脚本管理器是什么?
如果是ScriptCat的话,我猜测。。。去掉

   headers: {
                  "Cookie:": ""

也是可以跑通的

王一之 发表于 2021-9-18 14:46:52

哥哥悬赏大手笔啊

我测试了Tampermonkey,两种方式都可以跑通

测试了ScriptCat,
headers: {
      "Cookie:": "xxx=xxx"
}
不行,但是Cookie: "xxx=xxx",是可以的,哥哥可以贴一下具体代码信息么?
这应该是一个兼容问题,ScriptCat下个版本会进行兼容

ScriptCat的话,有个特性,使用’anonymous:true‘可以完全的自定义cookie

脚本体验师001 发表于 2021-9-18 14:57:30

王一之 发表于 2021-9-18 14:46
哥哥悬赏大手笔啊

我测试了Tampermonkey,两种方式都可以跑通


悬赏就是发现问题解决问题,没有诚意的悬赏都是耍流氓
      obj.getShareList_mobile = function (shareId, shareRandsk, callback) {
            var baiduId = randString(32).toUpperCase() + ":FG=1", // getCookie("BAIDUID")
                logid = window.btoa(baiduId);
            http.ajax({
                type: "get",
                url: "https://pan.baidu.com/share/list?r=" + Math.random(),
                data: {
                  web: 5,
                  app_id: 250528,
                  logid: logid,
                  channel: "chunlei",
                  clienttype: 5,
                  desc: 1,
                  showempty: 0,
                  page: 1,
                  num: 20,
                  order: "time",
                  shorturl: shareId,
                  root: 1,
                  "dp-logid": ""
                },
                headers: {
                  "Cookie:": "BDCLND=" + (/\+\/\=/.test(shareRandsk) ? encodeURIComponent(shareRandsk) : shareRandsk),
                  Referer: "https://pan.baidu.com/s/" + shareId
                },
                dataType: "json",
                timeout: 3e3,
                success: function (response) {
                  console.log("getShareList_mobile", response);
                  callback && callback(response);
                },
                error: function () {
                  callback && callback("");
                }
            });
      };
伪代码就是这个,你一看就明白。是百毒移动端接口

脚本体验师001 发表于 2021-9-18 15:10:17

ScriptCat的话,有个特性,使用’anonymous:true‘可以完全的自定义cookie
那Tampermonkey呢?想搞明白的地方在于如果不使用anonymous:true,跨域请求时会不会携带Cookie,携带多少?

王一之 发表于 2021-9-18 15:19:47

脚本体验师001 发表于 2021-9-18 15:10
ScriptCat的话,有个特性,使用’anonymous:true‘可以完全的自定义cookie
那Tampermonkey呢?想搞明白的地 ...

Tampermonkey的话,有自定义cookie的情况下anonymous:true没用,没有自定义cookie的话,anonymous:true传的cookie是空的。

使用GM_xhr就没有跨域请求这么一说了,都会正常携带的

脚本体验师001 发表于 2021-9-18 15:25:41

王一之 发表于 2021-9-18 15:02
http.ajax等价GM_xhr?

哥哥使用的油猴脚本管理器是什么?


Tampermonkey管理器,http.ajax就是GM_xmlhttpRequest,封装了一下,没啥区别。Tampermonkey的玄妙让我有点跳脚,看起来真的需要试试ScriptCat

王一之 发表于 2021-9-18 15:29:49

脚本体验师001 发表于 2021-9-18 15:25
Tampermonkey管理器,http.ajax就是GM_xmlhttpRequest,封装了一下,没啥区别。Tampermonkey的玄妙让我有 ...

哥哥最好是具体去看一下Tampermonkey发出的请求进行调试,就这些文字,我也判断不出什么问题

王一之 发表于 2021-9-18 15:30:48

脚本体验师001 发表于 2021-9-18 15:25
Tampermonkey管理器,http.ajax就是GM_xmlhttpRequest,封装了一下,没啥区别。Tampermonkey的玄妙让我有 ...
对了。。。。哥哥用的是Cookie 还是 cookie,是小写的cookie来着。(脚本猫有自动提示和补全,推荐ScriptCat!)
{
url:xxx
cookie:xxx
}

李恒道 发表于 2021-9-18 15:44:17

王一之 发表于 2021-9-18 15:30
对了。。。。哥哥用的是Cookie 还是 cookie,是小写的cookie来着。(脚本猫有自动提示和补全,推荐ScriptC ...

你们说的我听不懂....呜呜呜
页: [1] 2 3
查看完整版本: 关于GM_xmlhttpRequest一个诡异事件求解释