Вы можете создать подкласс xmlrpclib.Transport
и передать его в качестве аргумента ServerProxy
. Выберите метод для переопределения (я выбрал send_content
), и все готово.
# simple test program (from the XML-RPC specification)
from xmlrpclib import ServerProxy, Transport, Error
class SpecialTransport(Transport):
def send_content(self, connection, request_body):
print "Add your headers here!"
connection.putheader("Content-Type", "text/xml")
connection.putheader("Content-Length", str(len(request_body)))
connection.endheaders()
if request_body:
connection.send(request_body)
# server = ServerProxy("http://localhost:8000") # local server
server = ServerProxy("http://betty.userland.com", transport=SpecialTransport())
print server
try:
print server.examples.getStateName(41)
except Error, v:
print "ERROR", v