使用请求将字节数组发送到使用 http post 的网络服务
Using requests to send byte-array to webservice using http post
目前我正在尝试将字节数组发送到网络服务,但我收到错误消息,即字节数组不可序列化:
TypeError: bytearray(b'') is not JSON serializable
我正在使用以下代码
正在发送请求
# Set blob
with open('demo-file.txt') as file:
f = file.read()
b = bytearray(f)
print a.set_data('5cb9bc4d-c0fd-40ab-8b74-4e62b50d8966', b)
Set_Data方法:
def set_data(self, path, data):
"""
Save data in
Parameter
--------
path (str): Path as string
data (bytearray): Data as bytearray
"""
result = requests.post(self.url + '/set', json = { 'path': path, 'data': data})
# Check status and token
if result.status_code == 200:
return result.text
我做错了什么,我必须使用其他方法来发送字节数组吗?
非常感谢大家!
如果你真的需要json,你必须对你的二进制数据进行编码。参见:Base64 encoding in Python 3
备选方案:
目前我正在尝试将字节数组发送到网络服务,但我收到错误消息,即字节数组不可序列化:
TypeError: bytearray(b'') is not JSON serializable
我正在使用以下代码
正在发送请求
# Set blob
with open('demo-file.txt') as file:
f = file.read()
b = bytearray(f)
print a.set_data('5cb9bc4d-c0fd-40ab-8b74-4e62b50d8966', b)
Set_Data方法:
def set_data(self, path, data):
"""
Save data in
Parameter
--------
path (str): Path as string
data (bytearray): Data as bytearray
"""
result = requests.post(self.url + '/set', json = { 'path': path, 'data': data})
# Check status and token
if result.status_code == 200:
return result.text
我做错了什么,我必须使用其他方法来发送字节数组吗?
非常感谢大家!
如果你真的需要json,你必须对你的二进制数据进行编码。参见:Base64 encoding in Python 3
备选方案: