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