- 學習 XML-RPC
- XML-RPC - 主頁
- XML-RPC - 簡介
- XML-RPC - 資料模型
- XML-RPC - 請求
- XML-RPC - 響應
- XML-RPC - 故障
- XML-RPC - 示例
- XML-RPC - 總結
- XML-RPC 資源
- XML-RPC - 快速指南
- XML-RPC - 有用資源
XML-RPC - 請求格式
XML-RPC 請求是 XML 內容和 HTTP 頭的組合。XML 內容使用資料型別結構傳遞引數幷包含識別需要呼叫的過程的其他資訊,而 HTTP 頭提供一個包裝器,以便透過網路傳遞請求。
每個請求都包含一個 XML 文件,其根元素是 methodCall 元素。每個 methodCall 元素包含一個 methodName 元素和一個 params 元素。methodName 元素標識要呼叫的過程的名稱,而 params 元素包含引數及其值的列表。每個 params 元素都包含一個 param 元素列表,這些元素又包含 value 元素。
例如,要將請求傳遞給名為 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
例如,如果從偵聽 /xmlrpc 的 XML-RPC 伺服器獲得 circleArea 方法,請求可能如下所示
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 請求,帶有一個精心構建的有效負載。
廣告