AttributeError: 'str' object has no attribute 'items'
今天在使用request进行发送请求时,
dic = dict(map(lambda x, y: [x, y], list1, list2))
headers= json.dumps(dic, separators=(',', ':'), ensure_ascii=False)
data=pdict[i]
response=requests.post(url=url,headers=headers,data=data)
由于把headers转化成了字符串,导致没有请求成功,出现:AttributeError: 'str' object has no attribute 'items'
这个,通过网络查找,才知道,原理headers原来是字典格式,不是json格式:
后来改为如下格式,才算是解决了。
dic = dict(map(lambda x, y: [x, y], list1, list2))
#headers= json.dumps(dic, separators=(',', ':'), ensure_ascii=False)
data=pdict[i]
response=requests.post(url=url,headers=dic,data=data)
你正在传递一个字符串 ; headers
不能永远是一个JSON编码字符串,它始终是一个Python字典。
JSON编码的对象看起来很像Python字典表示法,但是它们远非相同的东西。
该requests
API明确指出,headers
必须是一本字典:
headers – (optional) Dictionary of HTTP Headers to send with the Request
SON数据是您将内容发送到另一台服务器的东西,而不是您用来与Python API进行通信的东西。