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

GM_xmlhttpRequest报400错误 POST请求

[复制链接]

2

主题

6

帖子

28

积分

新手上路

Rank: 1

积分
28
发表于 2021-12-25 20:52:58 | 显示全部楼层 | 阅读模式
本帖最后由 Major 于 2021-12-25 20:55 编辑

GM_xmlhttpRequest报400错误 POST请求 ,有知道什么原因吗, 浏览器抓包的 header 截图如下
1.png 2.png
///////////////////////////////////////////////
GM_xmlhttpRequest({
    method: "post",
    url: 'https://yzzs.kdy100.com:1991/mossapi/mossp.expressj/queryExpressListV4',

    Headers:{
        "Content-Type": "application/json;charset=UTF-8"
    },

    data:{
        "callee": "",
        "companyId": "",
        "currentPage": 1,
        "endTime": "2021-12-26 00:00:00",
        "mailNum": "",
        "notifyStatus": "",
        "packNum": "",
        "packStatus": "0",
        "pageSize": 20,
        "queryModel": "QueryInTime",
        "sortBy": 0,
        "sortOrder": "desc",
        "startTime": "2021-11-26 00:00:00",
        "stockDay": "",
        "userId": "P07286628cf-0e10-4441-9867-ba9cbcf54bc9",
    },

    onload: function(res){
        if(res.status === 200){
            console.log('成功')
            var obj = res.data;
            console.log(obj)
        }else{
            console.log('失败')
            console.log(res)
        }
    },
    onerror : function(err){
        console.log('error')
        console.log(err)
    }
});



19

主题

379

帖子

2552

积分

开发者

精通各种语言的HelloWord!

Rank: 6Rank: 6

积分
2552

猫咪币纪念章活跃会员三好学生热心会员中秋纪念章国庆纪念章

发表于 2021-12-25 21:06:16 来自手机  | 显示全部楼层
原请求有jwt验证吧
回复

使用道具 举报

216

主题

1775

帖子

2322

积分

管理员

非物质文化遗产社会摇传承人

Rank: 9Rank: 9Rank: 9

积分
2322
发表于 2021-12-25 21:45:55 | 显示全部楼层
这种情况最好对着提交的数据和抓包的数据,看看有什么不一致的地方
混的人。
回复

使用道具 举报

107

主题

1198

帖子

1466

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1466

猫咪币纪念章热心会员活跃会员突出贡献三好学生中秋纪念章国庆纪念章

发表于 2021-12-26 18:13:39 | 显示全部楼层
原请求不是有个 Authorication 先解决这个吧
上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
回复

使用道具 举报

2

主题

6

帖子

28

积分

新手上路

Rank: 1

积分
28
发表于 2021-12-28 17:24:23 | 显示全部楼层
王一之 发表于 2021-12-26 18:13
原请求不是有个 Authorication 先解决这个吧

我把所有的 headers都加上,结果还是400错误。奇怪的是用 Python 可以拿到数据
回复

使用道具 举报

107

主题

1198

帖子

1466

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1466

猫咪币纪念章热心会员活跃会员突出贡献三好学生中秋纪念章国庆纪念章

发表于 2021-12-28 17:29:45 | 显示全部楼层
Major 发表于 2021-12-28 17:24
我把所有的 headers都加上,结果还是400错误。奇怪的是用 Python 可以拿到数据 ...

哥哥调试一下试试?
在扩展的页面可以看到这个请求实际的发送信息

[油猴脚本开发指南]基础的脚本调试(二)
https://bbs.tampermonkey.net.cn/thread-1386-1-1.html
(出处: 油猴中文网)
上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
回复

使用道具 举报

2

主题

6

帖子

28

积分

新手上路

Rank: 1

积分
28
发表于 2021-12-28 19:58:25 | 显示全部楼层
本帖最后由 Major 于 2021-12-28 19:59 编辑
王一之 发表于 2021-12-28 17:29
哥哥调试一下试试?
在扩展的页面可以看到这个请求实际的发送信息

脚本猫的抓包结果显示 ,data的值没有传过去,设置的 header 和 实际发送的请求header 也不一样
01.jpg
02.jpg
回复

使用道具 举报

107

主题

1198

帖子

1466

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1466

猫咪币纪念章热心会员活跃会员突出贡献三好学生中秋纪念章国庆纪念章

发表于 2021-12-28 20:08:47 | 显示全部楼层
Major 发表于 2021-12-28 19:58
脚本猫的抓包结果显示 ,data的值没有传过去,设置的 header 和 实际发送的请求header 也不一样
...

注意到了,首先GM_xhr的data只能发送文本或者FormData类型的数据

需要手动拼接成 aa=xx&bb=xx的格式 或者自己手动序列化json JSON.stringify({aa:1,bb:2})

然后 header 是需要自己填写的,脚本猫并不会自动填充上去
另外,header是大小写敏感 ,看发出来的代码是Headers
上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
回复

使用道具 举报

2

主题

6

帖子

28

积分

新手上路

Rank: 1

积分
28
发表于 2021-12-29 09:53:08 | 显示全部楼层
王一之 发表于 2021-12-28 20:08
注意到了,首先GM_xhr的data只能发送文本或者FormData类型的数据

需要手动拼接成 aa=xx&bb=xx的格式 或者 ...

按照你说的,data转化后成功了,感谢!感谢!
回复

使用道具 举报

发表回复

本版积分规则

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