MSXML中提供了Microsoft.XMLHTTP物件,能夠完成從封包到Request物件的轉換以及傳送任務。 建立XMLHTTP物件的語句如下:Set objXML = CreateObject("Msxml2.XMLHTTP") 或Set objXML = CreateObject("Microsoft.XMLHTTP")'Or for version 3.0 of
##MSXML中提供了Microsoft.XMLHTTP對象,能夠完成從資料包到Request對象的轉換以及發送任務。建立XMLHTTP物件的語句如下:
##Set objXML = CreateObject("Msxml2.XMLHTTP") 或
'Or for version 3.0 of XMLHTTP, use:
'Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP") 物件建立後呼叫Open方法對Request物件進行初始化,語法格式為:
objXML.open http-method ,url,async,userID,password
Open方法包含了5個參數,前三個是必要的,後兩個是可選的(在伺服器需要進行身份驗證時提供)。參數的意義如下所示:
http-method:HTTP的通訊方式,例如GET或是POST
url:接收XML資料的伺服器的URL位址。通常在URL中要指明ASP或CGI程式
async:一個布林標識,說明請求是否為非同步的。如果是非同步通訊方式(true),客戶機就不會等待伺服器的回應;如果是同步方式(false),客戶機就要等到伺服器回傳訊息後才去執行其他操作
userID:使用者ID,用於伺服器驗證
password:使用者密碼,用於伺服器驗證
XMLHTTP物件的Send方法
使用Open方法對Request物件初始化後,呼叫Send方法傳送XML資料:
objXML.send () Send方法的參數類型是Variant,可以是
字串
、DOM樹或任意資料流。 傳送資料的方式分為同步和非同步兩種。在非同步方式下,資料包一旦發送完畢,就結束Send進程,客戶機執行其他的操作;而在同步方式下,客戶機要等到伺服器回傳確認訊息後才結束Send進程。 XMLHTTP物件中的readyState屬性
其能夠反映伺服器在處理請求時的進展狀況。客戶機的程式可以根據這個狀態資訊設定對應的事件處理方法。屬性值及其意義如下表所示:
值說明
0 Response物件已經創建,但XML文件上載程序尚未結束
1 XML文件已經載入完畢
2 ##1 XML文件已經載入完畢裝載完畢,正在處理中
3 部分XML文件已經解析
#4 文件已經解析完畢,客戶端可以接受回傳訊息
客戶機處理回應訊息,客戶機接收到回傳訊息後,進行簡單的處理,基本上就完成了C/S之間的一個互動週期。
客戶機接收回應是透過XMLHTTP物件的屬性實現的:
responseText:將回傳訊息作為文字字串;
responseBody:將回傳訊息當作HTML文件內容;
responseXML:將傳回訊息視為XML文檔,在伺服器回應訊息中含有XML資料時使用;
responseStream:將返回訊息視為Stream對象
以下是一個簡單的範例:類似新聞小偷
<% Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP") objXML.open "GET","http://www.php.cn",false objXML.send() response.write(objXML.responseText) %>
以上是Microsoft.XMLHTTP物件介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!