python & XML RPC

John Cardozo

python & XML RPC

  • Protocolo XML RPC
  • Tipos de datos soportados
  • Desarrollo del cliente
  • Desarrollo del Servidor

AGENDA

protocolo XML RPC

protocolo xml rpc

XML RPC

Remote Procedure Call

Permite ejecutar código en una máquina remota como si estuviera ejecutándose en la máquina local

cliente

datos de

respuesta

red

ejecución

de código

servidor

HTTP

XML

multilenguaje / multiplataforma

cliente

servidor

XML RPC

tipos de datos

tipos de datos

tipos de datos

int

string

boolean

double

datetime

base64

array

struct

enteros de 32 bits

ASCII (null)

true | false

decimales

iso8601

datos binarios

arreglos unidimensionales

key (string), value

servidor

servidor

pasos para desarrrollo del servidor

Definición del servidor

Definición de funciones

Registro de funciones

Ejecutar el servidor

1

2

3

4

servidor en python

Definición del servidor

from xmlrpc.server import SimpleXMLRPCServer

servidor = SimpleXMLRPCServer(
    ('localhost', 8001),
    allow_none=True,  # Permite valores nulos
    logRequests=True
)
def sumar(num1, num2):
    return num1 + num2

Definición de funciones

servidor.register_function(sumar)

Registro de funciones

if __name__ == '__main__':
    try:
        print('Iniciando servidor...')
        servidor.serve_forever()
    except KeyboardInterrupt:
        print('Terminando servidor...')

Ejecutar el servidor

código completo de servidor

# Libreria
from xmlrpc.server import SimpleXMLRPCServer

# Definición del servidor
servidor = SimpleXMLRPCServer(
    ('localhost', 8001),
    allow_none=True,
    logRequests=True
)

# Definición de la función
def sumar(num1, num2):
    return num1 + num2

# registro de la función
servidor.register_function(sumar)

# Ejecución del servidor
if __name__ == '__main__':
    try:
        print('Iniciando servidor...')
        servidor.serve_forever()
    except KeyboardInterrupt:
        print('Terminando servidor...')

cliente

cliente

pasos para desarrrollo del cliente

Conexión al servidor

Ejecución de la función remota

1

2

cliente en python

Definición del servidor

import xmlrpc.client

servidor = xmlrpc.client.ServerProxy(
  'http://localhost:8001'
)
resultado = servidor.sumar(2, 3)

print(resultado)

Ejecución de la función remota

john cardozo

johncardozo@gmail.com

Python & XML RPC

By John Cardozo

Python & XML RPC

Ejecución de código remoto a través de XML RPC desde Python

  • 440