tanszek:oktatas:iss_t:xml-rpc
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tanszek:oktatas:iss_t:xml-rpc [2023/03/19 14:34] – knehez | tanszek:oktatas:iss_t:xml-rpc [2024/01/12 10:30] (current) – knehez | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== XML-RPC ===== | + | ===== XML-RPC |
- | XML-RPC is a popular integration method used in web development, | + | [[https:// |
+ | ===== Server ===== | ||
- | XML-RPC is a widely adopted integration method because it is platform-independent and can be used with any programming language that supports HTTP and XML. It is also a lightweight protocol that uses a small amount of bandwidth and can be easily implemented on both the client and server | + | <sxh python> |
+ | from xmlrpc.server | ||
+ | from xmlrpc.server import SimpleXMLRPCRequestHandler | ||
- | [[https://www.tutorialspoint.com/ | + | # Restrict to a particular path. |
+ | class RequestHandler(SimpleXMLRPCRequestHandler): | ||
+ | rpc_paths = ('/RPC2', | ||
+ | |||
+ | # Create server | ||
+ | with SimpleXMLRPCServer((' | ||
+ | requestHandler=RequestHandler) as server: | ||
+ | server.register_introspection_functions() | ||
+ | |||
+ | # Register pow() function; this will use the value of | ||
+ | # pow.__name__ as the name, which is just ' | ||
+ | server.register_function(pow) | ||
+ | |||
+ | # Register a function under a different name | ||
+ | def adder_function(x, | ||
+ | return x + y | ||
+ | server.register_function(adder_function, | ||
+ | |||
+ | # Register an instance; all the methods of the instance are | ||
+ | # published as XML-RPC | ||
+ | class MyFuncs: | ||
+ | def mul(self, x, y): | ||
+ | return x * y | ||
+ | |||
+ | server.register_instance(MyFuncs()) | ||
+ | |||
+ | # Run the server' | ||
+ | server.serve_forever() | ||
+ | </ | ||
+ | |||
+ | ===== Client ===== | ||
+ | |||
+ | <sxh python> | ||
+ | import xmlrpc.client | ||
+ | |||
+ | s = xmlrpc.client.ServerProxy(' | ||
+ | print(s.pow(2, | ||
+ | print(s.add(2, | ||
+ | print(s.mul(5, | ||
+ | |||
+ | # Print list of available methods | ||
+ | print(s.system.listMethods()) | ||
+ | </ |
tanszek/oktatas/iss_t/xml-rpc.1679236480.txt.gz · Last modified: 2023/03/19 14:34 by knehez