我想使用POST请求将zlib文件的压缩数据发送到服务器。以下是我尝试使用的代码
boto3
但是我收到以下错误orig = open('fileName', 'r').read()
comp = zlib.compress(orig, 9)
req = Request(url, comp)
urlopen(req)
我尝试了UnicodeDecodeError: 'utf8' codec can't decode byte 0x85 in position 2: invalid start byte
,但这也行不通。我在某个位置获得相同的comp.encode('utf-8')
。我该如何解决我的问题?
答案 0 :(得分:0)
urllib2.Request data
参数状态的文档:
数据应该是标准application / x-www-form-urlencoded格式的缓冲区。
您可以使用urllib.quote编码缓冲区:
>>> orig = 'aaaaabbbccddxddaaabb'
>>> comp = zlib.compress(orig, 9)
>>> comp
'x\xdaKL\x04\x82\xa4\xa4\xa4\xe4\xe4\x94\x94\x8a\x94\x140\x07\x00Q\x19\x07\xc1'
>>> quoted = quote(comp)
>>> quoted
'x%DAKL%04%82%A4%A4%A4%E4%E4%94%94%8A%94%140%07%00Q%19%07%C1'
>>> req = Request('http://example.com', quoted)