当前位置: 首页 > 图文教程 > 网络编程 > ASP > 利用XMLHTTP 从其他页面获取数据

ASP
将Recordset作为XML保存
在ASP中过滤用户输入 提高安全性
改进 ASP 应用程序中的字符串处理性能
在ASP中使用事务控制
在access中增加农历支持模块
用ADODB.Stream代替FSO读取文本文件
处理运行时间长的脚本以及内容大的主页
用ASP编程实现快速查找
Asp中代码与页面的分离
通过ASP自动解压RAR文件
如何正确处理数据库中的Null
采用XML数据来填充ASP表单
ASP整合的一个SQL语句类
在基于Mozilla的浏览器中使用XMLHttpRequest对象
巧用in关键字实现数据的批量删除
ASP中函数调用对参数的影响
加密处理使密码更安全[CFS编码加密]
ASP错误的几种常规处理方式
在ASP程序中执行SQL语句的安全性问题
ASP实用技巧28则

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 30 ::
收藏到网摘: n/a

 

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

下面的代码就是一个很简单的例子,我们利用xmlhttp技术,把http://www.codetoad.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"/>