python - 如何使用 Python 通过 XMPP 传输文件?

标签 python xmpp file-transfer

我正在使用xmpppy我的 jabber 远程管理机器人的库,但我找不到如何发送/接收文件并将其保存在指定的目录中。文档很差,也没有任何示例,但我真的很想制作它。任何人都可以展示一些示例或一些有关它的链接吗?或者也许我应该使用替代的 xmpp 绑定(bind)?

最佳答案

有两个 XEP(XMPP 扩展)涵盖文件传输:XEP-0096 http://xmpp.org/extensions/xep-0096.html (称为 SI(流启动)文件传输)和 XEP-0234 http://xmpp.org/extensions/xep-0234.html (Jingle 文件传输)

XEP-0096 是最初的版本,但我发现它很少在大多数库和大多数客户端中实现(正如您所发现的)。 XEP-0234 更新得多,可以在更现代的客户端中找到,但不能在较旧的库(如 xmpppy)中找到。即使您找到其中任何一个的库或实现,您也将面临的问题是连接的双方也必须实现它们。

在这两者中,我会选择 XEP-0234,因为它涵盖了原始版本所存在的相当多的问题,并且被认为是它的替代品。

就 Python 库而言,没有一个库支持它。我研究过 xmpppy、headstock、pyxmpp、jabber.py、twisted Words 和我最喜欢的 smoothxmppp。

关于python - 如何使用 Python 通过 XMPP 传输文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2851992/

相关文章:

python - numpy 数组索引的意外行为

c# - 跨线程操作无效 : Control 'listBox1' accessed from a > thread other than the thread it was created on

ssh - 通过 ssh 传输文件

ftp - 使用 Apache Camel 通过 ftp 发送文件

android - 在手机之间交换本地文件的方法

python - 如何在 python 中使用 wand 优化图像大小

python - 在Python或Matlab中数值求解超越方程

python - sqlalchemy 和 postgresql 中的大表

xmpp - 我如何从 ejabberd 服务器 16.06 中部分或完全删除存档消息

ios - 获取 openfire 聊天记录