XML-RPC - 请求格式

XML-RPC请求是XML内容和HTTP标头的组合. XML
内容使用数据类型结构来传递参数,并包含标识正在调用哪个过程的额外
信息,而HTTP标头提供
a包装器以通过Web传递请求.

每个请求都包含一个XML文档,其根元素是 methodCall
元素.每个 methodCall 元素包含 methodName 元素和 params 元素. methodName 元素标识要调用的过程的名称,而 params 元素包含参数列表及其值.每个 params 元素都包含一个param元素列表,而这些元素又包含 value 元素.

例如,将请求传递给a名为 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

For例如,如果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请求,带有精心构造的有效负载.