Где находится полное значение JID при использовании xmpppy?

Где найти полное значение JID после подключения и аутентификации на сервере Jabber при использовании библиотеки xmpppy?

Мне нужен полный JID для последующего Iq обращения к серверу. Указание голого JID ([email protected]) приводит к следующей ошибке:

Если установлено, атрибут from должен быть установлен на полный JID пользователя.

Я прочитал онлайн-API и просмотрел часть исходного кода, но так и не смог его найти.

Полный JID выглядит так: [email protected]/resource


person Philip Fourie    schedule 06.03.2010    source источник


Ответы (2)


Используйте версии без нижней планки:

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

Однако нет необходимости устанавливать адрес отправителя. Сервер сделает это за вас для всех отправляемых вами строф.

person Joe Hildebrand    schedule 10.03.2010

Я также не вижу, чтобы JID сохранялся как таковой, но в источники авторизации, строка 213, я вижу

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

где self — экземпляр Client, который мы аутентифицируем; так что, возможно, вы могли бы просто восстановить эту информацию и создать себе JIDот того?

person Alex Martelli    schedule 06.03.2010
comment
@ Алекс, это может сработать, позволь мне попробовать. Спасибо за труд, который вы взяли на себя, чтобы ответить на этот вопрос. - person Philip Fourie; 06.03.2010
comment
@Philip, пожалуйста, дайте нам знать, как это работает для вас! - person Alex Martelli; 06.03.2010