2011-01-07 3 views

Antwort

10

Sie können die Klasse xmlrpclib.Transport ableiten und diese als Argument an ServerProxy übergeben. Wählen Sie eine Methode zum Überschreiben aus (ich wählte send_content) und Sie sind eingestellt.

# 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 
+0

ich nicht in der Lage bin, dies zu benutzen, wie ich eine Ausnahme bin immer die erste Methode Aufruf af finden http://stackoverflow.com/questions/17569519/unable-to-use-custom-transport-class- with-python-xmlrpclib-wegen-typeerror-unb – sorin

Verwandte Themen