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