2009-09-23 49 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:您需要配置的存储库,以使其发挥作用。不知道这是否是您的项目所必需的。