2021-05-02 23:59
apacheの設定をします。mod_pythonで実行させる場合はお好みで設定してください。(だぶん動くと思う)
# apt-get update # apt-get install apache2
サーバのcgiプログラムを書きます。"/usr/lib/cgi-bin/test-svr.py"に755権限で配置します。
#!/usr/bin/python
import os
from SimpleXMLRPCServer import CGIXMLRPCRequestHandler
class MyFuncs:
def add(self, x, y):
return x + y
def arrays(self, x, y):
return [x, y]
handler = CGIXMLRPCRequestHandler()
handler.register_instance(MyFuncs())
handler.register_introspection_functions()
handler.handle_request()
クライアントのプログラムを書きます。
#!/usr/bin/python
import xmlrpclib
server = xmlrpclib.ServerProxy('http://localhost/cgi-bin/test-svr.cgi')
list = server.system.listMethods()
print list
res = server.add(9, 3)
print res
print
res = server.arrays(9, 3)
print res
for i in res:
print i
print
クライアントプログラムを実行します。
$ python test-cl.py ['add', 'arrays', 'system.listMethods', 'system.methodHelp', 'system.methodSignature'] 12 [9, 3] 9 3