python - 如何使用 App Engine 中的任务队列 Python API 传递压缩数据?

标签 python google-app-engine zlib task-queue

我正在尝试将压缩数据与任务队列中的任务一起使用,如下所示:

t = taskqueue.Task(url='/tasks/queue',
                   params={'param': zlib.compress(some_string)}

但是当我尝试像这样在队列处理程序中解压缩它时

message = self.request.get('param')
message = zlib.decompress(message)

我收到这个错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u06b8' in position 2: ordinal not in range(128)

有人知道这里发生了什么吗?有变通办法吗?

最佳答案

不使用参数,而是使用负载,它在请求正文中包含您的数据,未编码。然后您可以使用 zlib.decompress(self.request.body) 来检索数据。

关于python - 如何使用 App Engine 中的任务队列 Python API 传递压缩数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2160011/

相关文章:

python - body 是什么? `from fastapi import Body`

google-app-engine - 是否有 App Engine 共享内存或等效解决方案?

java - 从数据存储中检索所有实体

javascript - Python 中的 jQuery $.param'ed 字符串解析(应用引擎)

python - 不使用 DEFLATE 的野外 ZIP 文件?

ios - 在 macOS/iPhone 上的 Swift 5 中压缩的数据无法通过其他任何东西解压缩

python - 在 Amazon Comprehend Medical 中识别单词的不同时态

python - 查找多个 numpy 数组中的相交值

javascript - 如何使用 pygtk+ WebKit 自动填充输入字段

Node.js zlib gzip 缓冲区在存档内为 "file"