XML-RPC请求是XML内容和HTTP标头的组合。 XML内容使用数据类型结构来传递参数,并包含标识指定要调用哪个过程的附加信息,而HTTP标头提供了一个用于通过Web传递请求的包装器。
每个请求都包含一个XML文档,其根元素是methodCall
元素。 每个methodCall
元素都包含一个methodName
元素和一个params
元素。 methodName
元素标识要调用的过程的名称,而params
元素包含参数列表和值。 每个params
元素包括一个param
元素列表,而param
元素又包含值元素。
例如,要将请求传递给名称为circleArea
的方法,该方法采用double
类型参数(对于半径),XML-RPC请求格式将如下所示:
<?xml version="1.0"?>
<methodCall>
<methodName>circleArea</methodName>
<params>
<param>
<value><double>2.41</double></value>
</param>
</params>
</methodCall>
这些请求的HTTP标头将反映发送者和内容。 基本模板如下所示:
POST /target HTTP 1.0
User-Agent: Identifier
Host: host.making.request
Content-Type: text/xml
Content-Length: length of request in bytes
例如,如果circleArea
方法可在/xmlrpc
侦听XML-RPC服务器获得返回结果,则请求如下所示:
POST /xmlrpc HTTP 1.0
User-Agent: myXMLRPCClient/1.0
Host: 192.168.124.2
Content-Type: text/xml
Content-Length: 169
组装信息后,整个请求看起来如下:
POST /xmlrpc HTTP 1.0
User-Agent: myXMLRPCClient/1.0
Host: 192.168.124.2
Content-Type: text/xml
Content-Length: 169
<?xml version="1.0"?>
<methodCall>
<methodName>circleArea</methodName>
<params>
<param>
<value><double>2.41</double></value>
</param>
</params>
</methodCall>
这是一个普通的HTTP请求,具有精心构造的有效负载。
上一篇:
XML-RPC数据模型
下一篇:
XML-RPC响应格式