2016-08-02 62 views
0

我送与下面的数据POST请求的响应:我得到这个类型错误:预期的字符串或缓冲区,而试图从服务器获取

data = '{"email":"[email protected]","password":"abcdef"}' 

response = requests.post(login, data=data, headers={"Content-Type":"application/json"}) 

dataa = json.loads(response.content) 

print dataa 

token = dataa['token'] 

print "Access_token", token 

headers = {"Content-Type":"application/json","Authorization":token} 

data ='{"form":{"projectLocations":"LOPP","status":"Active","active":true,"name":"AWS","contactName":"xyz", 
"contactEmail":"[email protected]","customId":"102","createdCompany":"57972dcad9562e661c73707"}}' 

res = requests.post(create_project, data=data, headers={"Content-Type":"application/json"}) 

dataa = json.loads(res) 

print res 

作为回报,我得到了如下回应:

dataa = json.loads(res) 

File "C:\Python27\lib\json\__init__.py", line 338, in loads 

return _default_decoder.decode(s) 

File "C:\Python27\lib\json\decoder.py", line 366, in decode 

obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 

TypeError: expected string or buffer 
+0

你明白了什么,当你做'打印res.text'? – DeepSpace

+0

同样的错误,当我打印res.text。 –

+0

请务必在'dataa = json.loads(res)'上方放置'print res.text' **,否则您将看到相同的异常。 – DeepSpace

回答

1

第一次使用响应内容为loads参数(dataa = json.loads(response.content)),而第二次使用响应对象作为参数loadsdataa = json.loads(res)) 所以试图取代

dataa = json.loads(res) 

dataa = json.loads(res.content) 
+0

谢谢,我犯了一个愚蠢的错误。 :) –

相关问题