繁体   English   中英

来自rabbitmq队列的base64'payload'字符串无法正确解码

[英]base64 'payload' string from rabbitmq queue can't be decoded properly

from pyrabbit.api import Client
import base64

        msg = cl.get_messages('vhost', "somequeue", count=1)[0]
        rawinput = msg['payload']
        print rawinput
>> gAJ9cQEoVQdleHBpcmVzcQJOVQN1dGNxA4hVBGFyZ3NxBF1xBShY1AIAAHsiaGlzdG9y
        input = base64.b64decode(rawinput)
        print input

>> �}q(UexpiresqNUutcq�Uargsq]q(X�

这将返回一个奇怪的字符,否则不会产生一个适当的可解析的python dict。 我想知道是否有一些方法可以正确解码来自rabbitmq的有效负载。 队列中消息的原始内容来自芹菜。 实际上,队列包含在其上排队的芹菜任务。

似乎数据是由pickle或其他东西序列化的。

你可以尝试这样:

import cPickle as pickle
rawinput = msg['payload']
input = rawinput.decode("base64")
data = pickle.loads(input)
print data

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM