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回答这个问题。