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)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章