Python 有没有通过sleekxmpp发送文件的例子?
我在stackoverflow中阅读了一些文档和帖子,没有找到任何使用Python 有没有通过sleekxmpp发送文件的例子?,python,xmpp,Python,Xmpp,我在stackoverflow中阅读了一些文档和帖子,没有找到任何使用sleekxmpp发送文件或图像的示例。我在sleekxmpp包中提供的file_transfer.py中阅读了代码,但我无法使用该代码。如果有人有或知道通过sleekxmpp发送文件的示例,请告诉我。提前感谢 这是我试图用sleekxmpp发送文件的代码 import logging from sleekxmpp import Iq, Message from sleekxmpp.plugins import BasePl
sleekxmpp
发送文件或图像的示例。我在sleekxmpp
包中提供的file_transfer.py
中阅读了代码,但我无法使用该代码。如果有人有或知道通过sleekxmpp发送文件的示例,请告诉我。提前感谢
这是我试图用sleekxmpp发送文件的代码
import logging
from sleekxmpp import Iq, Message
from sleekxmpp.plugins import BasePlugin
from sleekxmpp.xmlstream.handler import Callback
from sleekxmpp.xmlstream.matcher import StanzaPath
from sleekxmpp.xmlstream import register_stanza_plugin, JID
from sleekxmpp.plugins.xep_0096 import stanza, File
log = logging.getLogger(__name__)
class XEP_0096(BasePlugin):
name = 'xep_0096'
description = 'XEP-0096: SI File Transfer'
dependencies = set(['xep_0095'])
stanza = stanza
def plugin_init(self):
register_stanza_plugin(self.xmpp['xep_0095'].stanza.SI, File)
self.xmpp['xep_0095'].register_profile(File.namespace, self)
def session_bind(self, jid):
self.xmpp['xep_0030'].add_feature(File.namespace)
def plugin_end(self):
self.xmpp['xep_0030'].del_feature(feature=File.namespace)
self.xmpp['xep_0095'].unregister_profile(File.namespace, self)
def request_file_transfer(self, jid, sid=None, name=None, size=None,
desc=None, hash=None, date=None,
allow_ranged=False, mime_type=None,
**iqargs):
data = File()
data['name'] = name
data['size'] = size
data['date'] = date
data['desc'] = desc
if allow_ranged:
data.enable('range')
return self.xmpp['xep_0095'].offer(jid,
sid=sid,
mime_type=mime_type,
profile=File.namespace,
payload=data,
**iqargs)
当我执行上述示例时,我得到以下错误
ERROR Error processing event handler: >
Traceback (most recent call last):
File "d:\Python27\lib\site-packages\sleekxmpp\xmlstream\xmlstream.py", line 1699, in _event_runner
func(*args)
File "send_file.py", line 69, in start
stream = self['xep_0047'].open_stream(self.receiver)
File "d:\Python27\lib\site-packages\sleekxmpp\plugins\xep_0047\ibb.py", line 143, in open_stream
resp = iq.send(timeout=timeout)
File "d:\Python27\lib\site-packages\sleekxmpp\stanza\iq.py", line 235, in send
raise IqError(result)
IqError
ERROR service-unavailable:
WARNING You should catch IqError exceptions
DEBUG Event triggered: presence
DEBUG Event triggered: presence_available
DEBUG Event triggered: presence
DEBUG Event triggered: presence_available
DEBUG Event triggered: presence
DEBUG Event triggered: presence_available
DEBUG Event triggered: got_online
DEBUG Event triggered: changed_status
DEBUG Event triggered: got_online
DEBUG Event triggered: changed_status
DEBUG Event triggered: changed_status