查看: 511|回复: 0

[文章教程] 使用ServerXMLHTTP对象 远程处理XML数据(POST/GET方法)示范(JSCRIPT版)

[复制链接]
xuanxiao 发表于 2022-6-5 23:12:14 | 显示全部楼层 |阅读模式
1.使用 ServerXMLHTTP 从 ASP 页面获取 XML 响应结果

在以下示例中,ServerXMLHTTP通过 HTTP 从 远程ASP 网页获取 XML结果。通过使用GET,该示例能够发送请求而无需实际将任何数据传输到 Web 服务器。

该对象的responseXML属性objSrvHTTP包含来自 Web 服务器的 XML 响应。"text/xml"是首先通知浏览器要接收的响应是 XML数据,来将此响应写入浏览器的输出。接下来,程序将响应直接传递给Response对象以在屏幕上显示。

  1. <%@language=JScript%>  
  2. <%  
  3.    var objSrvHTTP;  
  4.    objSrvHTTP = Server.CreateObject ("Msxml2.ServerXMLHTTP.6.0");  
  5.    objSrvHTTP.open ("GET","http://远程服务器/respond.asp", false);  
  6.    objSrvHTTP.send ();  
  7.    Response.ContentType = "text/xml";  
  8.    Response.Write (objSrvHTTP.responseXML.xml);  
  9. %>
复制代码




2.使用 ServerXMLHTTP 将 XML 数据POST 到 远端ASP网页
在以下示例中,ServerXMLHTTP使用 HTTP 将 XML 数据发送到 Active Server Page (ASP) 页面。与前面使用的示例GET不同,本示例使用POST方法将数据连同请求一起发送到远程 Web 服务器。

与前面的示例一样,程序通过将响应设置ContentType为“text/xml”,传递Response到浏览器的输出。

  1. <%@language=JScript%>  
  2. <%  
  3.    var objSrvHTTP;  
  4.    var objXMLDocument;  
  5.    objSrvHTTP = Server.CreateObject ("Msxml2.ServerXMLHTTP.6.0");  
  6.    objXMLDocument = Server.CreateObject ("Msxml2.DOMDocument.6.0");  
  7.   
  8.    objXMLDocument.async= false;  
  9.    objXMLDocument.loadXML ("<msg><id>1</id></msg>");  
  10.   
  11.    objSrvHTTP.open ("POST","http://远程服务器/respond.asp",false);  
  12.    objSrvHTTP.send (objXMLDocument);  
  13.    Response.ContentType = "text/xml";  
  14.    Response.Write (objSrvHTTP.responseXML.xml);  
  15. %>
复制代码


3.使用 ServerXMLHTTP POST 和处理 XML
在下面的示例中,ServerXMLHTTP将 XML 文档发送到 Web 服务器上的 ASP 页,并将其 XML 响应传递给等待DOMDocument处理。
  1. <%@language=Jscript%><%  
  2.    var objSrvHTTP;  
  3.    var objXMLSend;  
  4.    var objXMLReceive;  
  5.    objSrvHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0");  
  6.    objXMLSend = Server.CreateObject("Msxml2.DOMDocument.6.0");  
  7.    objXMLReceive = Server.CreateObject("Msxml2.DOMDocument.6.0");  
  8.   
  9.    objXMLSend.async = false;  
  10.    objXMLSend.loadXML ("<msg><id>2</id></msg>");  
  11.   
  12.    objSrvHTTP.open ("POST","http://远端服务器/respond.asp",false);  
  13.    objSrvHTTP.send (objXMLSend);  
  14.    objXMLReceive = objSrvHTTP.responseXML;  
  15.    Response.ContentType = "text/xml";  
  16.    Response.Write (objXMLReceive.xml);  
  17. %>
复制代码


4.使用 ServerXMLHTTP对象的时候,带上安全选项
open方法的bstrUser和bstrPassword参数允许用户登录到使用基本身份验证保护的 Web 服务器,下面的示例演示如何使用open方法的可选参数bstrUser和bstrPassword参数,从使用了基本身份验证保护的远端web服务器检索 XML 文档。
  1. <%@language=Jscript%>  
  2. <%  
  3.    var objSrvHTTP;  
  4.    objSrvHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0");  
  5.    objSrvHTTP.open ("GET","http://远程服务器/secure.asp",false, _  
  6.                        "testuser", "testpassword";  
  7.    objSrvHTTP.send ();  
  8.    Response.ContentType = "text/xml";  
  9.    Response.Write (objSrvHTTP.responseXML.xml);  
  10. %>
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号