Ir al contenido
Menú
Se marcó esta pregunta
3 Respuestas
7634 Vistas

I'm trying to use an XMLRPC connection but I don't know which database to connect to. I can log in to the system, but it doesn't show me which db it is using. How can I find out?

import xmlrpclib

user = 'admin'
password = 'PASSWORD'
host = 'localhost:8069'
db = 'test'  # How do I find out what database to connect to?

sock = xmlrpclib.ServerProxy('http://%s/xmlrpc/common' % host)
uid = sock.login(db, user, password)

Avatar
Descartar

HI Kasper, You can select the database by geting in with this URL: www.*YOURDOMAIN*.com/web/database/selector Regards, Juan José - Ing ADHOC

Mejor respuesta

db_serv_url = 'http://{}/xmlrpc/db'.format(host)

sock = xmlrpclib.ServerProxy(db_serv_url)

dbs = sock.list()

print dbs

 

Avatar
Descartar
Mejor respuesta

Use your browser to navigate to http://localhost:8069.

You will either see a list of databases in a dropdown in the top right corner, or (if there is only a single database) will need to click the link 'Manage Databases', then 'Drop' to see the name of the database.

Avatar
Descartar

Alternatively, look in the URL when you have logged into the system via the web for the db= parameter.

Mejor respuesta

For python 3.x you can use following

xmlrpc.client.ServerProxy("https://yourdomain.com/xmlrpc/db").list()

Avatar
Descartar