萌新求教JavaScript中post问题

qq_20633691 2021-07-13 00:06:49
async function ydb_qphb(timeout = 0){
    qqt=`{"action":"TIMING_RED_BAG"}`
    console.log(qqt.length)
     return new Promise((resolve) => {
         let url = {
        url: 'https://ydb-api.baertt.com/v1/task/receive_reward',
        headers: JSON.parse(`{"Host":"ydb-api.baertt.com","token":"${wxydb_token}","content-type":"application/json","Content-Length":27}`),
        data: qqt,
        }
         console.log(url)
        $.post(url, async (err, resp, data) => {
            try {
              console.log(data)
              data = JSON.parse(data)
              console.log(data)
                
            }catch (e) {
            } finally {
                resolve()
            }
        })
     })
}

 

此代码拿到正常网页请求就正常返回值,而在JavaScript中请求就异常,请问这么解决这种问题,源码返回结果如下图

 

原抓包代码

POST /v1/task/receive_reward HTTP/1.1
Host: ydb-api.baertt.com
Connection: keep-alive
Content-Length: 199
charset: utf-8
User-Agent: Mozilla/5.0 (Linux; Android 10; SKW-A0 Build/SKYW2103030CN00MQ5; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.62 XWEB/2853 MMWEBSDK/20210601 Mobile Safari/537.36 MMWEBID/7599 MicroMessenger/8.0.7.1920(0x28000737) Process/appbrand2 WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android
client: android
content-type: application/json
Accept-Encoding: gzip,compress,br,deflate
form-type: routine
token: 642DDF18-2024-3602-13F5-281A850A6E34
Referer: https://servicewechat.com/wx8aca843784b6aff0/42/page-frame.html


{"action":"TIMING_RED_BAG","uniqueid":"","pid":"","steps_invite_friends":0,"if_task_list":0,"share_type":1,"platform":"android","model":"SKW-A0","brand":"blackshark","version":144,"client":"android"}

 

网页请求如下图

 

 

 

...全文
455 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

解决就成

  • 打赏
  • 举报
回复

然后看了下俩个的区别 有可能你发送到后台的数据被理解成字符串 而不是JSON 格式错了

'{"action":"..."}'

{"action":"..."}

qq_20633691 2021-07-13
  • 举报
回复
@初心不变时过迁 const axios = require("axios"); async function ydb_qphb(){ qqt=`{"action": "TIMING_RED_BAG","uniqueid": "","pid": "","steps_invite_friends": 0,"if_task_list": 0,"share_type": 1,"platform": "android","model": "","brand": "","version": 144,"client": "android"}` res = await axios({ url:'https://ydb-api.baertt.com/v1/task/receive_reward';, headers:JSON.parse(`{"token":"642DDF18-2024-3602-13F5-281A850A6E34","content-type":"application/json","client": "android","form-type": "routine"}`), contentType:"application/json", method:"post", data:qqt, }) console.log(res.data); // { code: 1010, msg: '奖励还未到领取时间,无法领取', data: null } } ydb_qphb() 有了,大佬这样子解决的哦
  • 打赏
  • 举报
回复

后端接口那边的问题吧

你问下后端那边 code1000 是什么问题啊

qq_20633691 2021-07-13
  • 举报
回复
@初心不变时过迁 在手机模拟 code1000 脚本就是请求头有问题, 他发生请求提是一个字符串来的,字符串里面结果是json结构,
radio.jsp

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧