mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
Issue #19082: Working xmlrpc.server and xmlrpc.client examples. Both in modules and in documentation.
This commit is contained in:
parent
0abbe8c090
commit
939e2db48d
4 changed files with 86 additions and 5 deletions
|
@ -1460,18 +1460,18 @@ if __name__ == "__main__":
|
|||
|
||||
# simple test program (from the XML-RPC specification)
|
||||
|
||||
# server = ServerProxy("http://localhost:8000") # local server
|
||||
server = ServerProxy("http://time.xmlrpc.com/RPC2")
|
||||
# local server, available from Lib/xmlrpc/server.py
|
||||
server = ServerProxy("http://localhost:8000")
|
||||
|
||||
try:
|
||||
print(server.currentTime.getCurrentTime())
|
||||
except Error as v:
|
||||
print("ERROR", v)
|
||||
|
||||
# The server at xmlrpc.com doesn't seem to support multicall anymore.
|
||||
multi = MultiCall(server)
|
||||
multi.currentTime.getCurrentTime()
|
||||
multi.currentTime.getCurrentTime()
|
||||
multi.getData()
|
||||
multi.pow(2,9)
|
||||
multi.add(1,2)
|
||||
try:
|
||||
for response in multi():
|
||||
print(response)
|
||||
|
|
|
@ -967,10 +967,24 @@ class DocCGIXMLRPCRequestHandler( CGIXMLRPCRequestHandler,
|
|||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import datetime
|
||||
|
||||
class ExampleService:
|
||||
def getData(self):
|
||||
return '42'
|
||||
|
||||
class currentTime:
|
||||
@staticmethod
|
||||
def getCurrentTime():
|
||||
return datetime.datetime.now()
|
||||
|
||||
server = SimpleXMLRPCServer(("localhost", 8000))
|
||||
server.register_function(pow)
|
||||
server.register_function(lambda x,y: x+y, 'add')
|
||||
server.register_instance(ExampleService(), allow_dotted_names=True)
|
||||
server.register_multicall_functions()
|
||||
print('Serving XML-RPC on localhost port 8000')
|
||||
print('It is advisable to run this example server within a secure, closed network.')
|
||||
try:
|
||||
server.serve_forever()
|
||||
except KeyboardInterrupt:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue