Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python base64';有效载荷';rabbitmq队列中的字符串可以';不能正确解码_Python_Rabbitmq_Celery - Fatal编程技术网

Python base64';有效载荷';rabbitmq队列中的字符串可以';不能正确解码

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]

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

数据似乎是通过pickle或其他方式序列化的

您可以这样尝试:

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