在xmpp中使用sasl plain
来自服务器(sasl协商)
<stream:features><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>SCRAM-SHA-1</mechanism></mechanisms><c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://www.process-one.net/en/ejabberd/' ver='TQ2JFyRoSa70h2G1bpgjzuXb2sU='/><register xmlns='http://jabber.org/features/iq-register'/></stream:features>
从客户端发送
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>AGlnZW55YXIAMTIzNDU2Nzg=</auth>
其中蹩脚的东西是base64编码的“\ 0login \ 0password”
从服务器回复
<stream:error><xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error>
有什么原因吗?感谢。
答案 0 :(得分:0)
第一个条目在SCRAM-SHA-1项之后有一个额外的Closing“mechanisms”标记。
答案 1 :(得分:-1)
正如其他人所指出的那样:XML看起来很好。我想你需要重新思考你的问题。这不是“为什么XML没有很好地格式化”,而是“为什么服务器回复 xml - 当它看到这个节时没有很好地形成?”
为了回答这个问题,你(没有其他人可以为你做)应该调试服务器实现并找出导致它的原因。