Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
7653 Lượt xem

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)

Ảnh đại diện
Huỷ bỏ

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

Câu trả lời hay nhất

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

sock = xmlrpclib.ServerProxy(db_serv_url)

dbs = sock.list()

print dbs

 

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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.

Ảnh đại diện
Huỷ bỏ

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

Câu trả lời hay nhất

For python 3.x you can use following

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

Ảnh đại diện
Huỷ bỏ