xmlrpc — XMLRPC 서버 및 클라이언트 모듈

xmlrpc — XMLRPC 서버 및 클라이언트 모듈

XML-RPC는 전송 수단으로 HTTP를 통해 전달되는 XML을 사용하는 원격 프로시저 호출(Remote Procedure Call) 방법이에요. 이를 통해 클라이언트는 원격 서버(서버는 URI로 지정됨)의 메서드를 매개변수와 함께 호출하고 구조화된 데이터를 돌려받을 수 있어요.

xmlrpc는 XML-RPC를 구현하는 서버 및 클라이언트 모듈을 모아 놓은 패키지예요.

출처: Python documentation

본문

xmlrpc 패키지의 모듈들은 다음과 같아요:

  • xmlrpc.client — XML-RPC 클라이언트 접근을 위한 모듈. 클라이언트가 원격 서버의 프로시저를 호출할 수 있게 해주며, ServerProxy 클래스와 Method 등을 제공해요. XML-RPC로 전달되는 데이터 타입과 Python 타입 사이의 마샬링을 처리해요.
  • xmlrpc.server — XML-RPC 서버 구현을 위한 모듈. SimpleXMLRPCServerDocXMLRPCServer 클래스를 제공하며, HTTP를 통해 XML-RPC 요청을 수신하고 처리하는 서버를 만들 수 있어요.

XML-RPC는 HTTP를 전송으로 사용하는 RPC 방법으로, 네트워크를 통해 원격 서버의 메서드와 프로시저를 호출하는 데 널리 사용돼요. 클라이언트는 다음과 같이 사용해요:

import xmlrpc.client

proxy = xmlrpc.client.ServerProxy("http://example.com:8000/")
result = proxy.some_method(42)  # 원격 서버의 메서드 호출

xmlrpc.server 모듈로 서버를 만드는 예제:

from xmlrpc.server import SimpleXMLRPCServer

with SimpleXMLRPCServer(("localhost", 8000)) as server:
    server.register_function(lambda x, y: x + y, "add")
    server.serve_forever()

이 패키지는 인터넷 프로토콜과 지원(Internet Protocols and Support) 영역에 속해요.

더 알아보기 (Learn more)