2013-07-10 2 views
0

Я пытаюсь тренироваться, как использовать org.apache.xmlrpc.client.XmlRpcClient в python.Помогите портировать xmlrpc java синтаксис для python

Я использую код в 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?

Ваша помощь очень ценится

ответ

0

Было бы неплохо, чтобы прочитать documentation библиотеки, которую вы пытаетесь использовать.

Это может сработать ... возможно:

import xmlrpclib 

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

conn_str = "http://" + ("%(user)s:%(pass)[email protected]" % 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") 
+0

Спасибо за возвращение, я работал его: из XMLRPCLIB импорта ServerProxy URL = «https: // имя пользователя: пароль @ сервер: port/xplrpc " s = ServerProxy (url) print s.ContentAPI.queryResult (" 1376 ") –