我正在尝试将字典(字符串)列表传递给一个请求put的。我得到这个错误:
TypeError: POST data should be bytes, an iterable of bytes.
这是用python
中的字典(字符串)列表发出put请求的正确方法。你知道吗
列表如下所示:
list1 = ['{"id" : "","email" : "John@fullcontact.com","fullName": "John Lorang"}', '{"id" : "","email" : "Lola@fullcontact.com","fullName": "Lola Dsilva"}']
myData = json.dumps(list1)
myRestRequestObj = urllib.request.Request(url,myData)
myRestRequestObj.add_header('Content-Type','application/json')
myRestRequestObj.add_header('Authorization','Basic %s')
myRestRequestObj.get_method = lambda : 'PUT'
try:
myRestRequestResponse = urllib.request.urlopen(myRestRequestObj)
except urllib.error.URLError as e:
print(e.reason)
我假设您可以使用
requests
模块(pip install requests
)。你知道吗requests是Python的一个简单而强大的HTTP库。你知道吗
正如您在评论中所说的,您不能使用请求(听到这个消息很难过!),所以我用urllib做了另一个片段(简短的回答:您必须
.encode('utf-8')
json.dumps
和decode('utf-8')
response.read()
):我确实试着添加一些评论。我希望这个解决方案对你有帮助!你知道吗
为了帮助您更好地学习python,您应该阅读Style Guide for Python Code
相关问题 更多 >
编程相关推荐