Java Smack 3.2.2 SASL身份验证摘要-MD5失败:身份验证无效
我有个大问题。每次我尝试连接任何jabber服务器时,都会收到“SASL身份验证摘要-MD5失败”通知。当我不使用JPasswordField时,我没有这个错误,但是在IM中使用JTextField是没有意义的。我已经尝试了我找到的每一种方法,但都是一样的 守则:Java Smack 3.2.2 SASL身份验证摘要-MD5失败:身份验证无效,java,smack,sasl,Java,Smack,Sasl,我有个大问题。每次我尝试连接任何jabber服务器时,都会收到“SASL身份验证摘要-MD5失败”通知。当我不使用JPasswordField时,我没有这个错误,但是在IM中使用JTextField是没有意义的。我已经尝试了我找到的每一种方法,但都是一样的 守则: private void bLoginAction(JTextField login, JPasswordField pass) { loginText = login.getText(); passText = pass.getPa
private void bLoginAction(JTextField login, JPasswordField pass) {
loginText = login.getText();
passText = pass.getPassword().toString();
String[] data = loginText.split("@");
Connection.DEBUG_ENABLED = true;
ConnectionConfiguration config = new ConnectionConfiguration(data[1], 5222);
Connection con = new XMPPConnection(config);
try {
con.connect();
} catch (XMPPException e) {
e.printStackTrace();
}
try {
con.login(loginText, passText);
} catch (XMPPException e) {
e.printStackTrace();
}
}
从printStackTrace()打印:
SASL身份验证摘要-MD5失败:身份验证无效:位于
org.jivesoftware.smack.saslauthentification.authenticate(saslauthentification.java:
337)在
org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:203)
位于org.jivesoftware.smack.Connection.login(Connection.java:348)
不要使用toString()。请尝试改用getPassword(),如图所示。即使使用JTextField,也应该使用getText()而不是toString()
这不是一个简单的问题,而是一个直接的Java问题。非常感谢。它工作得很好!我只需要从char[]构建字符串。String passText=新字符串(pass.getPassword());如果有人需要这个;)