0

Pythonでorg.apache.xmlrpc.client.XmlRpcClientを使用する方法を試しています。

https://github.com/mcasperson/vaultdemo/blob/master/src/main/java/com/redhat/ecs/App.javaのコードを使用しています:

final XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL(args[0]));
config.setBasicUserName(args[1]);
config.setBasicPassword(args[2]);

final XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);

final Object[] params = new Object[] {"1376"};
final String retValue = (String) client.execute("ContentAPI.queryResult", params);

次のPythonコードを試していましたが、どこにも行きません:

from xmlrpclib import ServerProxy
s = ServerProxy(url)
print s.client.execute("ContentAPI.queryResult",1376)

ユーザー名とパスワードを python の ServerProxy クライアントに渡すにはどうすればよいですか?

あなたの助けは大歓迎です

4

1 に答える 1

0

使用しようとしているライブラリのドキュメントを読むことをお勧めします。

これはうまくいくかもしれません...おそらく:

import xmlrpclib

conn_settings = \
{
    "user" : "noob",
    "pass" : "1234",
    "host" : "localhost",
    "port" : 8080,
    "path" : ""
}

conn_str = "http://" + ("%(user)s:%(pass)s@" % conn_settings if(conn_settings.get("user", "")) else "") + "%(host)s:%(port)d%(path)s" % conn_settings
print "Connecting using: %s" % conn_str

client = xmlrpclib.ServerProxy(conn_str)

print "You can call this"
print client.system.listMethods()

print "Trying Query"
print client.ContentAPI.queryResult("1376")
于 2013-07-10T06:31:42.413 に答える