Hi, thanks for your answer !
I updated everything, including certificates, while upgrading to python
3.9, and retried today (no new certificates to install). I am the
administrator of the wiki i try to access, and didn't do black magic in
the configuration..
The error really seems to came from 3.8 or 3.9, since i can still reach
the wiki nominally with my (some being non-updated) machines using
python 3.7. This didn't evolve since i discovered the problem few days ago.
--lucas
On 24/02/2021 16:20, 2qdxy4rzwzuui...@potatochowder.com wrote:
On 2021-02-24 at 15:29:58 +0100,
lucas <lu...@bourneuf.net> wrote:
I'm currently trying to understand an error when using the dokuwikixmlrpc
python module, allowing to easily work with DokuWiki RPC interface.
Another description of the problem :
https://github.com/kynan/dokuwikixmlrpc/issues/8
Here is the code, tailored to work with the DokuWiki RPC interface:
from urllib.parse import urlencode
import xmlrpc.client as xmlrpclib
URL = 'wiki.example.net'
USER = 'user'
PASSWD = 'password'
USER_AGENT = 'DokuWikiXMLRPC 1.0 for testing'
script = '/lib/exe/xmlrpc.php'
url = URL + script + '?' + urlencode({'u': USER, 'p': PASSWD})
xmlrpclib.Transport.user_agent = USER_AGENT
xmlrpclib.SafeTransport.user_agent = USER_AGENT
proxy = xmlrpclib.ServerProxy(url)
v = proxy.dokuwiki.getVersion()
print(v)
When ran with Python 3.7 (a personnal debian server, or a personal windows
computer), i obtain the expected 'Release 2018-04-22a "Greebo"' as ouput.
When ran with Python 3.9 (my personnal, manjaro machine), i obtain the
following stacktrace:
Traceback (most recent call last):
File "/home/project/read.py", line 32, in <module>
v = proxy.dokuwiki.getVersion()
File "/usr/lib/python3.9/xmlrpc/client.py", line 1116, in __call__
return self.__send(self.__name, args)
File "/usr/lib/python3.9/xmlrpc/client.py", line 1456, in __request
response = self.__transport.request(
File "/usr/lib/python3.9/xmlrpc/client.py", line 1160, in request
return self.single_request(host, handler, request_body, verbose)
File "/usr/lib/python3.9/xmlrpc/client.py", line 1190, in
single_request
raise ProtocolError(
xmlrpc.client.ProtocolError: <ProtocolError for
wiki.example.net/lib/exe/xmlrpc.php: 401 Unauthorized>
At the risk of stating the obvious, it might actually be an
authentication problem. In addition to double checking the password:
(1) make sure all of your certificates (under Arch Linux, on which
Manjaro is based), that's the ca-certificates package) are up to date;
and
(2) check with whoever owns the wiki about any other certificates they
require.
After that, all I know about XML RPC is to avoid it. :-)
I don't have the possibility to test this on python 3.8 specifically, but
since the XML and XMLRPC modules have been updated in 3.8, and since 3.9
doesn't seems to introduce any change for them, i would expect 3.8 to
introduce some change that dokuwikixmlrpc has somehow to take into
consideration.
Can anyone help me with that one ? I don't know anything about RPC and XML,
i don't know what i need to do know to fix dokuwikixmlrpc.
--
https://mail.python.org/mailman/listinfo/python-list