And i also fount that a typical system.auth call will look like:you need to plugin a custom transport. see this page for an example:
POST /xmlrpc/clarens_server.py HTTP/1.0
Host: localhost
User-Agent: xmlrpclib.py/0.9.9 (by www.pythonware.com <http://www.pythonware.com>)
Content-Type: text/xml
Content-Length: 105
AUTHORIZATION: Basic MkhVTm9VazYxbXArVEZLS0dCY2tIRlA3bjVzPQo6RnJvbSBi
<?xml version='1.0'?>
<methodCall>
<methodName>system.auth</methodName>
<params>
</params>
</methodCall>
Problem is that i don't know how do i generate above xml system.auth
call. Can anyone please tell me how do call a function, setting the
header of the call too?
http://www.python.org/doc/lib/xmlrpc...t-example.html
in your case, it should be sufficient to override send_request, e.g.
(untested):
class SecureTransport(xmlrpclib.Transport):
def set_authorization(self, ustring, text_ucert):
self.authoriation = encodestring(
"%s:%s" % (ustring,text_ucert)
)
def send_request(self, connection, handler, request_body):
connection.putrequest("POST", handler)
connection.putheader("Authorization",
"Basic %s" % self.authorization
)
and instantiate the transport by doing
t = SecureTransport()
t.set_authorization(ustring, text_ucert)
before passing to the server proxy.
</F>