Я просто задавался вопросом, как я смогу отправить a xml-rpc
запрос в Python? Я знаю, что можно использовать xmlrpclib
, но как я отсылаю запрос в xml
получить доступ к функции?
Я хотел бы видеть xml
ответ.
Так же в основном я хотел бы отправить следующее как мой запрос к серверу:
<?xml version="1.0"?>
<methodCall>
<methodName>print</methodName>
<params>
<param>
<value><string>Hello World!</string></value>
</param>
</params>
</methodCall>
и возвратите ответ
Вот простой клиент XML-RPC на Python:
import xmlrpclib
s = xmlrpclib.ServerProxy('http://localhost:8000')
print s.myfunction(2, 4)
Работает с этим сервером:
from SimpleXMLRPCServer import SimpleXMLRPCServer
from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler
# Restrict to a particular path.
class RequestHandler(SimpleXMLRPCRequestHandler):
rpc_paths = ('/RPC2',)
# Create server
server = SimpleXMLRPCServer(("localhost", 8000),
requestHandler=RequestHandler)
def myfunction(x, y):
status = 1
result = [5, 6, [4, 5]]
return (status, result)
server.register_function(myfunction)
# Run the server's main loop
server.serve_forever()
Чтобы получить доступ к внутренностям xmlrpclib
, то есть просматривая необработанные запросы XML и т. Д., Найдите класс xmlrpclib.Transport
в документации.
Что вы имеете в виду, говоря "обойти"? xmlrpclib - это нормальный способ написания клиента XML-RPC на Python. Просто посмотрите исходники (или скопируйте их в свой собственный модуль и добавьте print
операторы! -), если вы хотите узнать подробности того, как все делается.