我正在尝试从python中的amqp代理接收消息。这是我的代码:
#!/usr/bin/python
import sys
import os
import getopt
from qpid.messaging import *
from qpid.log import enable, DEBUG
broker_rcv = "admin/admin@hostname:IP"
address_rcv = "broadcast.QUEUE_NAME.QUEUE_NAME" + "; { node: { type: queue }, assert: never , create: never, mode: " + "browse" + " }"
connection_rcv = Connection(broker_rcv)
connection_rcv.open()
session_rcv = connection_rcv.session()
receiver = session_rcv.receiver(address_rcv)
msg = receiver.fetch(timeout=None)
print msg.content
但是当我尝试打印消息时,我会用奇怪的编码看到它们,并且无法改变消息编码。
我做错了什么?
答案 0 :(得分:0)
msg.content包含某个生产者发送的原始邮件内容。你无法改变它。 你在上面提到的编码是什么?如果您在打印msg时看到它,请忽略它。
答案 1 :(得分:0)
您所做错的是您无法解码消息。当您收到编码消息时,您必须先解码它。
那些FIX消息?所有技术规格都在http://fixprotocol.org/specifications/
这里有一个Python库http://source.kentyde.com/fixlib