Python &引用;必须是str,而不是bytes“;尝试向xmpp服务器进行身份验证时

Python &引用;必须是str,而不是bytes“;尝试向xmpp服务器进行身份验证时,python,authentication,connection,xmpp,xmpppy,Python,Authentication,Connection,Xmpp,Xmpppy,我的代码是: import xmpp jabberid = "admin@mydomain.com" password = "password" receiver = "admin@mydomain.com" message = "hello world" jid = xmpp.protocol.JID(jabberid) connection = xmpp.Client(server=jid.getDomai

我的代码是:

import xmpp

jabberid = "admin@mydomain.com"
password = "password"
receiver = "admin@mydomain.com"
message  = "hello world"

jid = xmpp.protocol.JID(jabberid)
connection = xmpp.Client(server=jid.getDomain())
connection.connect()
connection.auth(user=jid.getNode(), password=password,resource=jid.getResource())
我收到此错误:

 File "/home/eduardo/.local/share/virtualenvs/xmpp-sv-KIKvfzDF/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/eduardo/.local/share/virtualenvs/xmpp-sv-KIKvfzDF/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/eduardo/Desktop/adiconf/xmpp-sv/api/main/user/routes.py", line 33, in add
    connection.auth(user=str(jid.getNode()), password=str(password), resource=str(jid.getResource()))
  File "/home/eduardo/.local/share/virtualenvs/xmpp-sv-KIKvfzDF/lib/python3.6/site-packages/xmpp/client.py", line 228, in auth
    while self.SASL.startsasl=='in-process' and self.Process(1): pass
  File "/home/eduardo/.local/share/virtualenvs/xmpp-sv-KIKvfzDF/lib/python3.6/site-packages/xmpp/dispatcher.py", line 126, in Process
    raise _pendingException[0](_pendingException[1]).with_traceback(_pendingException[2])
  File "/home/eduardo/.local/share/virtualenvs/xmpp-sv-KIKvfzDF/lib/python3.6/site-packages/xmpp/dispatcher.py", line 304, in dispatch
    handler['func'](session,stanza)
  File "/home/eduardo/.local/share/virtualenvs/xmpp-sv-KIKvfzDF/lib/python3.6/site-packages/xmpp/auth.py", line 179, in SASLHandler
    self.DEBUG('Got challenge:'+data,'ok')
TypeError: must be str, not bytes

我正在使用xmpppy模块,但我不知道为什么?由于我传递给connection.auth的参数都是字符串

,因此必须解码lib中“auth”文件中的数据。这条线一定是那样的

data=base64.b64解码(传入的_数据).decode()


不要认为该异常与您传递的参数有关。听起来像是xmpp库中的一个bug。你能首先确保所有的要求都是最新的吗?@Dallsant pleaser回答这个问题。