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

时间:2022-01-05 23:41:46

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

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

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

  1. <%  
  2. Dim objXMLHTTP, xml  
  3. Set xml = Server.CreateObject("Microsoft.XMLHTTP")  
  4.  
  5. xml.Open "GET""http://www.codetoad.com/", False  
  6. ' Pull the data from the web page  
  7. xml.Send  
  8.  
  9. Response.write "Here's the html we now have in our xml object"  
  10. Response.write "<BR><BR><BR>"  
  11. Response.Write "<xmp>"  
  12. Response.Write xml.responseText  
  13. Response.Write "</xmp>"  
  14. Response.write "<BR><BR><BR>"  
  15. Response.write " Now here's how the page looks:<BR><BR>"  
  16. Response.Write xml.responseText  
  17.  
  18. Set xml = Nothing  
  19. %>  
  20.  
  21.  
  22. 下面是另一个实例  
  23.  
  24. <%  
  25. dim objHTTP , objXML , objXSL  
  26. set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")  
  27. objHTTP.open "GET""http://p.moreover.com/cgi-local/page?c=Pop%20music%20reviews&o=xml"false  
  28. objHTTP.send  
  29. set objXML = objHTTP.responseXML  
  30. set objXSL=Server.CreateObject("microsoft.xmldom")  
  31. objXSL.async=false  
  32.  
  33. objXSL.load(Server.MapPath("style.xsl"))  
  34.  
  35. if (objXSL.parseError.errorCode = 0) then  
  36. Response.Write(objXML.transformnode(objXSL))  
  37. else  
  38. Response.Write "Error: " & objXSL.parseError.reason & " URL:" & objXSL.url  
  39. end if  
  40.  
  41. Set objHTTP = Nothing  
  42. Set objXML = Nothing  
  43. Set objXSL = Nothing  
  44. %>  
  45.  
  46. style.xsl:  
  47. <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">  
  48. <xsl:template match="/">  
  49.  
  50. <html>  
  51. <head>  
  52. <TITLE>moreover...</TITLE>  
  53. </head>  
  54. <body BGCOLOR="ffffff">  
  55.  
  56.  
  57.  
  58. <DIV ALIGN="center">  
  59. <TABLE BGCOLOR="ffffff" BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="100%">  
  60.  
  61. <xsl:for-each select="moreovernews/article">  
  62.  
  63. <TR VALIGN="middle">  
  64. <TD ALIGN="left" BGCOLOR="ffffff">  
  65.  
  66.  
  67. <xsl:attribute name="HREF">  
  68. <xsl:value-of select="url"/>  
  69. </xsl:attribute>  
  70. <xsl:attribute name="TARGET">  
  71. _blank  
  72. </xsl:attribute>  
  73.  
  74. <xsl:value-of select="headline_text"/>  
  75.  
  76.  
  77.  
  78.  
  79.  
  80. <xsl:attribute name="HREF">  
  81. <xsl:value-of select="document_url"/>  
  82. </xsl:attribute>  
  83. <xsl:attribute name="TARGET">  
  84. _blank  
  85. </xsl:attribute>  
  86.  
  87. <xsl:value-of select="source"/>  
  88.  
  89.  
  90.  
  91. <xsl:attribute name="HREF">  
  92. <xsl:value-of select="access_registration"/>  
  93. </xsl:attribute>  
  94. <xsl:attribute name="TARGET">  
  95. _blank  
  96. </xsl:attribute>  
  97.  
  98. <xsl:value-of select="access_status"/>  
  99.  
  100.  
  101.  
  102. <xsl:value-of select="harvest_time"/> GMT  
  103.  
  104. </TD>  
  105. </TR>  
  106.  
  107. </xsl:for-each>  
  108.  
  109.  
  110. </TABLE>  
  111. </DIV>  
  112. </body>  
  113. </html>  
  114. </xsl:template>  
  115. </xsl:stylesheet>