asp下利用XMLHTTP 从其他页面获取数据的代码

  利用XMLHTTP 从其他页面获取数据

  我们在编写ASP代码的时候,大家都知道可以通过post或者get获得form表单的数据,那么我们如何直接获得其他页面上的数据呢?这就要借助xmlhttp协议了。xmlhttp是xmldom技术的一部分。

  下面的代码就是一个很简单的例子,我们利用xmlhttp技术,把http://www.xxxx.com/站点首页的代码以xml的形式完全获取,并且在页面中输出。

  <%

  Dim objXMLHTTP, xml

  Set xml = Server.CreateObject("Microsoft.XMLHTTP")

  xml.Open "GET", "http://www.codetoad.com/", False

  ' Pull the data from the web page

  xml.Send

  Response.write "Here's the html we now have in our xml object"

  Response.write "<BR><BR><BR>"

  Response.Write "<xmp>"

  Response.Write xml.responseText

  Response.Write "</xmp>"

  Response.write "<BR><BR><BR>"

  Response.write " Now here's how the page looks:<BR><BR>"

  Response.Write xml.responseText

  Set xml = Nothing

  %>

  下面是另一个实例

  <%

  dim objHTTP , objXML , objXSL

  set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")

  objHTTP.open "GET", "http://p.moreover.com/cgi-local/page?c=Pop%20music%20reviews&o=xml", false

  objHTTP.send

  set objXML = objHTTP.responseXML

  set objXSL=Server.CreateObject("microsoft.xmldom")

  objXSL.async=false

  objXSL.load(Server.MapPath("style.xsl"))

  if (objXSL.parseError.errorCode = 0) then

  Response.Write(objXML.transformnode(objXSL))

  else

  Response.Write "Error: " & objXSL.parseError.reason & " URL:" & objXSL.url

  end if

  Set objHTTP = Nothing

  Set objXML = Nothing

  Set objXSL = Nothing

  %>

  style.xsl:

  <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

  <xsl:template match="/">

  <html>

  <head>

  <TITLE>moreover...</TITLE>

  </head>

  <body BGCOLOR="ffffff">

  <DIV ALIGN="center">

  <TABLE BGCOLOR="ffffff" BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="100%">

  <xsl:for-each select="moreovernews/article">

  <TR VALIGN="middle">

  <TD ALIGN="left" BGCOLOR="ffffff">

  <xsl:attribute name="HREF">

  <xsl:value-of select="url"/>

  </xsl:attribute>

  <xsl:attribute name="TARGET">

  _blank

  </xsl:attribute>

  <xsl:value-of select="headline_text"/>

  <xsl:attribute name="HREF">

  <xsl:value-of select="document_url"/>

  </xsl:attribute>

  <xsl:attribute name="TARGET">

  _blank

  </xsl:attribute>

  <xsl:value-of select="source"/>

  <xsl:attribute name="HREF">

  <xsl:value-of select="access_registration"/>

  </xsl:attribute>

  <xsl:attribute name="TARGET">

  _blank

  </xsl:attribute>

  <xsl:value-of select="access_status"/>

  <xsl:value-of select="harvest_time"/> GMT

  </TD>

  </TR>

  </xsl:for-each>

  </TABLE>

  </DIV>

  </body>

  </html>

  </xsl:template>

  </xsl:stylesheet>