Python 中的 XMLRPC 伺服器和客戶端模組
我們可以使用 XML-RPC 協議建立自己的跨平臺、與語言無關的伺服器。我們使用 SimpleXMLRPCServer 建立 SimpleXMLRPCServer 例項,並告訴它監聽傳入的請求。接下來我們將定義一些函式作為這個服務的一部分,並註冊這些函式,以便伺服器知道如何呼叫它們。
執行伺服器
在下例中,我們使用 SimpleXMLRPCServer 例項建立了一個伺服器,並註冊了一些預定義的以及自定義的函式。最後,我們將伺服器放入一個無限迴圈,接收請求並做出響應。
示例
from xmlrpc.server import SimpleXMLRPCServer
from xmlrpc.server import SimpleXMLRPCRequestHandler
class RequestHandler(SimpleXMLRPCRequestHandler):
rpc_paths = ('/RPC2',)
with SimpleXMLRPCServer(('localhost', 9000),
requestHandler=RequestHandler) as server:
server.register_introspection_functions()
# Register len() function;
server.register_function(len)
# Register a function under a different name
@server.register_function(name='rmndr')
def remainder_function(x, y):
return x // y
# Register a function under function.__name__.
@server.register_function
def modl(x, y):
return x % y
server.serve_forever()一旦上述伺服器執行,就可以由客戶端程式呼叫它,客戶端程式可以引用這些函式並呼叫函式。
執行客戶端
示例
import xmlrpc.client
s = xmlrpc.client.ServerProxy('https://:9000')
print(s.len("Tutorialspoint"))
print(s.rmndr(12,5))
print(s.modl(7,3))
# Print list of available methods
print(s.system.listMethods())輸出
執行上述程式碼後會產生以下結果 -
14 2 1 ['len', 'modl', 'rmndr', 'system.listMethods', 'system.methodHelp', 'system.methodSignature']
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP