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%20reviewso=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>