如何使用xmpppy发送数据?

时间:2012-07-10 09:16:12

标签: python xmpp xmpppy

如何使用此方法使用xmpppy发送数据:http://xmpp.org/extensions/xep-0047.html#send

我想我应该使用IBB课程,但不知道该怎么做。 http://xmpppy.sourceforge.net/apidocs/

2 个答案:

答案 0 :(得分:1)

首先,如果您使用的是GoogleTalk,请确保发件人位于收件人的名单上。接下来,在发件人方面:

from xmpp import *
cl=Client('example.com')
cl.connect()
cl.auth('sender', 'sender_pass')
ibb = filetransfer.IBB()
ibb.PlugIn(cl)

f = open('/tmp/foo')
ibb.OpenStream('123', 'receiver@example.com/resource', f)

如果您先没有正确执行XEP-95 / XEP-96,那么流ID是什么并不重要。

答案 1 :(得分:0)

我认为是这样的:

import StringIO
...
output = StringIO.StringIO()
output.write('String data')
output.close()


client.OpenStream('123', 'receiver@example.com/resource', output)