以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 XML源码及示例(仅原创和转载) 』  (http://bbs.xml.org.cn/list.asp?boardid=32)
----  [转载]利用XMLHTTP 从其他页面获取数据  (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=5307)


--  作者:admin
--  发布时间:1/29/2004 8:02:00 PM

--  [转载]利用XMLHTTP 从其他页面获取数据
转自: 联讯浩天-技术站 http://www.lssky.net/Article_Show.asp?ArticleID=651

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

[ 作者:dev2002    转贴自:本站原创    点击数:17    更新时间:2004-1-16    文章录入:dev2002 ] 

我们在编写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"/>
           </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>


--  作者:hyandlsz
--  发布时间:3/31/2004 9:52:00 AM

--  
这有什么用?
--  作者:草原牧哥
--  发布时间:4/2/2004 5:58:00 PM

--  
尊敬的Adimin,上面的问题好象有点像我下面的问题,请您在百忙之中抽时间看看我的问题,谢谢您!
怎么样才能把别的网站的部分栏目的部分内容自动链接到我的网页指定的栏目中?
  比如:
  1。天气预报网的天气预报情况,自动链接放到我的网页的指定位置,他那边更新,我这边也就自动更新了!不用手工去做。
  2。不同网站新闻动态栏目的标题链接,自动放到我的指定栏目中,实行自动新闻更新。
  求高手们指点!!!我在这里先谢谢了!!
--  作者:小鞋子
--  发布时间:4/2/2004 7:02:00 PM

--  
你是我QQ上的朋友吗?.我好像帮你看过这个问题耶.也是天气预报的.
--  作者:admin
--  发布时间:4/3/2004 12:16:00 AM

--  
这个功能好像叫“网络小偷”, baidu上艘艘,,有许多相关网页的。。
--  作者:小鞋子
--  发布时间:4/3/2004 1:41:00 AM

--  
天气小偷
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
5,273.926ms