xmpp 与 python: xmpp.protocol.InvalidFrom: (u'invalid-from', '')
Posted
技术标签:
【中文标题】xmpp 与 python: xmpp.protocol.InvalidFrom: (u\'invalid-from\', \'\')【英文标题】:xmpp with python: xmpp.protocol.InvalidFrom: (u'invalid-from', '')xmpp 与 python: xmpp.protocol.InvalidFrom: (u'invalid-from', '') 【发布时间】:2009-08-12 09:24:56 【问题描述】:cl = xmpp.Client('myserver.com')
if not cl.connect(server=('mysefver.com',5223)):
raise IOError('cannot connect to server')
cl.RegisterHandler('message',messageHandler)
cl.auth('myemail@myserver.com', 'mypassword', 'statusbot')
cl.sendInitPresence()
msgtext = formatToDo(cal, 'text')
message = xmpp.Message('anotheremail@myserver.com', msgtext)
message.setAttr('type', 'chat')
cl.send(message)
当我尝试运行它时收到以下错误消息:
xmpp.protocol.InvalidFrom: (u'invalid-from', '')
为什么会这样:(
【问题讨论】:
【参考方案1】:来自XMPP协议specification:
如果'from'的值 地址与接收方表示的主机名不匹配 打开 TCP 连接(或任何经过验证的域)时的服务器 其中,例如接收服务器的经过验证的子域 主机名或接收服务器托管的另一个经过验证的域), 那么权威服务器必须生成一个流 错误条件并终止 XML 流和底层 TCP 连接。
这基本上意味着,如果 xmpp-server 无法识别发件人,它将回复此消息。 XMPP提供注册机制:xmpp.features.register
【讨论】:
以上是关于xmpp 与 python: xmpp.protocol.InvalidFrom: (u'invalid-from', '')的主要内容,如果未能解决你的问题,请参考以下文章