2009-09-23 83 views

回答

16

你可以嘗試這樣的事情:

Set ServerXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0") 
ServerXmlHttp.open "POST", "http://www.domain.com/page.asp" 
ServerXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
ServerXmlHttp.setRequestHeader "Content-Length", Len(PostData) 
ServerXmlHttp.send PostData 

If ServerXmlHttp.status = 200 Then 
    TextResponse = ServerXmlHttp.responseText 
    XMLResponse = ServerXmlHttp.responseXML 
    StreamResponse = ServerXmlHttp.responseStream 
Else 
    ' Handle missing response or other errors here 
End If 

Set ServerXmlHttp = Nothing 

其中POSTDATA是您要發佈(如名稱 - 值對,XML文檔或其他)的數據。

您需要設置MSXML2.ServerXMLHTTP的正確版本以匹配您已安裝的版本。

開放式方法有五個參數,其中只需要前兩個:

ServerXmlHttp.open Method, URL, Async, User, Password 
  • 方法: 「GET」 或 「POST」
  • 網址:您要張貼到URL
  • 異步:默認值爲False(呼叫沒有立即返回) - 設置爲True異步調用
  • 用戶:用戶名認證
  • 要求
  • 密碼:驗證所需的密碼

當呼叫返回時,status屬性保存HTTP狀態。值爲200表示沒有找到 - 404表示未找到,500表示服務器錯誤等。(請參閱http://en.wikipedia.org/wiki/List_of_HTTP_status_codes瞭解其他值。)

您可以獲取作爲文本(responseText屬性),XML(responseXML屬性)或流的響應(responseStream屬性)。

+4

「您需要設置正確版本的MSXML2.ServerXMLHTTP以匹配您安裝的內容。」或者只是使用MSXML2.ServerXMLHTTP.3.0,它始終存在於當前支持的所有平臺上。 – AnthonyWJones 2009-09-23 08:20:44

0

您必須直接使用現有的xmlhttp服務器對象之一,或者您可以使用一個庫,通過抽取低級別的東西使生活變得更容易一些。獲取的URL

劣勢

檢查ajaxed implementation:您需要配置的存儲庫,以使其發揮作用。不知道這是否是您的項目所必需的。