from xmlrpc.client import ServerProxy
server = ServerProxy('http://monge.univ-mlv.fr:8888')
server.system.listMethods() # c'est dans la doc
server.help() # Essayer ça au minimum!
from base64 import b64decode # Il y a pas mal de possibilités pour décoder, c'est un exemple
server.jure().data # Il faut l'attribut "data" car le serveur est en python 3 (il n'existerait pas en python 2)
b64decode(_).decode('latin1')
# Maintenant qu'on a compris, on écrit une fonction
def jure():
return b64decode(server.jure().data).decode('latin1')
print(jure())
# ... et on essaie les autres méthodes
jurons = server.tous_les_jurons().data
jurons[:100]
jurons = b64decode(server.tous_les_jurons().data).decode('latin1')
open('jurons','w').write(jurons)
# On peut aussi s'interroger sur la présence d'une étrange méthode '__'
# Pourquoi ne pas essayer ?
print(b64decode(server.__().data).decode('ascii'))
Avec un minimum de curiosité, on récupère donc la solution de la question suivante (écrire un serveur identique).