Python base64';有效载荷';rabbitmq队列中的字符串可以';不能正确解码
这将返回一个奇怪的字符,否则不会产生一个合适的可解析python dict。我想知道是否有某种方法可以正确解码来自rabbitmq的负载。队列中消息的原始内容来自芹菜。事实上,队列中包含排队的芹菜任务。数据似乎是通过pickle或其他方式序列化的 您可以这样尝试:Python base64';有效载荷';rabbitmq队列中的字符串可以';不能正确解码,python,rabbitmq,celery,Python,Rabbitmq,Celery,这将返回一个奇怪的字符,否则不会产生一个合适的可解析python dict。我想知道是否有某种方法可以正确解码来自rabbitmq的负载。队列中消息的原始内容来自芹菜。事实上,队列中包含排队的芹菜任务。数据似乎是通过pickle或其他方式序列化的 您可以这样尝试: from pyrabbit.api import Client import base64 msg = cl.get_messages('vhost', "somequeue", count=1)[0]
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�
import cPickle as pickle
rawinput = msg['payload']
input = rawinput.decode("base64")
data = pickle.loads(input)
print data