使用xmpppy时,完整的JID值在哪里?

时间:2010-03-06 15:37:21

标签: python xmpp xmpppy

在使用xmpppy库时,在连接和验证Jabber服务器后,在哪里可以找到完整的JID值?

我需要完整的JID来进行对服务器的后续Iq调用。指定裸JID(user@domain.com)会导致以下错误:

  

如果设置,则必须将“from”属性设置为用户的完整JID

我已阅读了online API并查看了一些源代码,但仍无法找到它。

完整的JID如下所示:user@domain.com/resource

2 个答案:

答案 0 :(得分:2)

使用非下划线版本:

c = xmpp.client.Client(...)
# connect
jid = xmpp.JID(node=c.User, domain=c.Server, resource=c.Resource)

但是,无需设置发件人地址。服务器将为您发送的所有节目执行此操作。

答案 1 :(得分:1)

我没有看到JID也是这样存储的,但在auth's sources第213行,我看到了

self._User,self._Password,self._Resource=user,password,resource

其中self是我们正在验证的Client的实例;那么也许你可以恢复这些信息并从中建立一个JID