XML-RPC請求格式
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請求,具有精心構造的有效負載。