【问题标题】:Where is the full JID value when using xmpppy?使用 xmpppy 时完整的 JID 值在哪里?
【发布时间】:2010-03-06 15:37:21
【问题描述】:

在使用 xmpppy 库时,在连接 Jabber 服务器并对其进行身份验证后,我在哪里可以找到完整的 JID 值?

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

如果设置,'from' 属性必须设置为用户的完整 JID

我已经阅读了online API 并查看了一些源代码,但仍然找不到。

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

【问题讨论】:

    标签: python xmpp xmpppy


    【解决方案1】:

    使用非下划线版本:

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

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

    【讨论】:

      【解决方案2】:

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

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

      其中self 是我们正在验证的Client 的实例;所以也许您可以恢复此信息并从中建立自己的JID

      【讨论】:

      • @Alex 可能有用,让我试试。感谢您不厌其烦地回答这个问题。
      • @Philip,不客气,让我们知道你的效果如何!
      猜你喜欢
      • 1970-01-01
      • 2013-03-09
      • 2011-11-22
      • 1970-01-01
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      • 2017-04-03
      相关资源
      最近更新 更多