XML RPC Server (mit Passwort)
Verfasst: Freitag 16. Mai 2008, 14:05
Also habs mal hinbekommen, dass der Server läuft.
Ich kann mit einem Client auch connecten und auf dem Server bekomme ich auch "authed successful", leider aber auch eine Fehlermeldung wenn ich mir eine Liste aller Methoden ausgeben lassen will.
Fehlermeldung:
Ich kann aus der Fehlermeldung leider nicht allzu viel herauslesen
Code: Alles auswählen
#!/usr/bin/env python
import SimpleXMLRPCServer
import base64, socket, string
class new_post_handler(SimpleXMLRPCServer.SimpleXMLRPCRequestHandler):
def do_POST(self):
try:
header = self.headers['Authorization']
type, user_passwd = header.split()
username, password = string.split(base64.decodestring(user_passwd), ':')
if(username == 'ein_benutzer' and password == 'das_password'):
self.send_response(200)
print "authed successful"
except:
print "no auth credentials"
self.send_response(401)
if __name__ == '__main__':
server = SimpleXMLRPCServer.SimpleXMLRPCServer(('localhost', 8000), new_post_handler)
server.register_introspection_functions()
server.serve_forever()
Code: Alles auswählen
#!/usr/bin/env python
import xmlrpclib, os
if __name__ == '__main__':
s = xmlrpclib.Server('http://ein_benutzer:das_passwort@127.0.0.1:8000')
print s.system.listMethods()
Code: Alles auswählen
Traceback (most recent call last):
File "./client.py", line 7, in <module>
print s.system.listMethods()
File "/usr/lib/python2.5/xmlrpclib.py", line 1147, in __call__
return self.__send(self.__name, args)
File "/usr/lib/python2.5/xmlrpclib.py", line 1437, in __request
verbose=self.__verbose
File "/usr/lib/python2.5/xmlrpclib.py", line 1201, in request
return self._parse_response(h.getfile(), sock)
File "/usr/lib/python2.5/xmlrpclib.py", line 1338, in _parse_response
p.close()
File "/usr/lib/python2.5/xmlrpclib.py", line 550, in close
self._parser.Parse("", 1) # end of data
xml.parsers.expat.ExpatError: no element found: line 1, column 0