JSON parse error: Unrecognized token 'telephone': was expecting 'null', 'true', 'false' or NaN;

做爬虫时候遇到了一个异常 很奇怪 就记录下

完整异常

{"timestamp":"2019-11-17T08:02:07.931+0000","status":400,"error":"Bad Request","message":"JSON parse error: Unrecognized token 'telephone': was expecting 'null', 'true', 'false' or NaN; nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'telephone': was expecting 'null', 'true', 'false' or NaN\n at [Source: (PushbackInputStream); line: 1, column: 11]","path":"/worker/login"}

 我的代码

loginUrl = 'https://sso.verycleaner.com/worker/login'
headers = {
    'token':'',
    'versionCode':'72',
    'version':'3.0.4',
    'loginSource':'WORKER',
    'from':'android',
    'Content-Type':'application/json; charset=utf-8',
    # 'Content-Length':'73',
    'Host':'sso.verycleaner.com',
    'Connection':'Keep-Alive',
    'User-Agent':'Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/8.9 Mobile Safari/537.36'
}
data = {
    'telephone': '1881751****',
    'password': '31FEF9****'
}
res = requests.post(loginUrl, headers=headers, data=data,verify=False)
# res = requests.post(loginUrl, headers=headers, data=json.dumps(data),verify=False)
print(res.text)

这是爬取的一个app  chars抓包显示是一个 post请求于是就直接携带需要的参数发起请求,结果就出现了上边的错误

res = requests.post(loginUrl, headers=headers, data=data,verify=False)

正确是要使用 post payload请求

res = requests.post(loginUrl, headers=headers, data=json.dumps(data),verify=False)

猜你喜欢

转载自blog.csdn.net/weixin_41822224/article/details/103109759