服务端XMLHTTP(ServerXMLHTTP in ASP)基本应用(下)

服务端XMLHTTP(ServerXMLHTTP in ASP)基本应用(下)

接着上一篇《服务端XMLHTTP(ServerXMLHTTP in ASP)基本应用(上)》继续讲讲ServerXMLHTTP的基本应用。

3. 请求使用HTTP认证的页面

呃,虽然说目前使用HTTP基本认证的已经少之又少,但是,总该知道ServerXMLHTTP有这么一个功能,可以直接实现HTTP基本认证。

在ServerXMLHTTP对象的open中,我们通常用到的只是它的前3个参数,即method、uri、async,但事实上,它还有另外两个可选参数,即用于HTTP基本认证的username及password。

那么,如果某天,我们要使用ServerXMLHTTP访问某个使用HTTP基本认证的网站,并且我们已经有了认证所需要的用户名及密码,那么可以使用以下密码来访问需要认证的内容:

  • <%@LANGUAGE="JScript" CODEPAGE="65001"%>
  • <%
  • // code from xujiwei
  • // http://www.xujiwei.cn
  • // 访问www.google.cn并不需要HTTP认证,这里只是作为一个演示
  • var url = "http://www.google.cn";
  • var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.5.0");
  • // 用户名和密码分别为username和password
  • xmlhttp.open("GET", url, false, "username", "password");
  • xmlhttp.send("");
  • Response.BinaryWrite(xmlhttp.responseBody);
  • xmlhttp = null;
  • %>

4. 使用responseXML属性

有时候,我们所需要的结果并不是文本的,而是一个XML文档,譬如目前最常用的RSS。这个时候,responseXML属性就是我们的不二选择了。

使用responseXML属性所得到的对象,就是一个DOMDocument对象,这个对象可以使用诸如selectNodes、selectSingleNode这样的方法来操作XML文档对象。

例如,我们可以利用ServerXMLHTTP抓取新浪新闻的RSS并显示出来:

  • <%@LANGUAGE="JScript" CODEPAGE="65001"%>
  • <%
  • // code from xujiwei
  • // http://www.xujiwei.cn
  • // 新浪新闻的RSS地址
  • var url = "http://rss.sina.com.cn/news/marquee/ddt.xml";
  • var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.5.0");
  • xmlhttp.open("GET", url, false);
  • xmlhttp.send("");
  • var xml = xmlhttp.responseXML;
  • Response.Write("<h1>" + xml.selectSingleNode("/rss/channel/title").text + "</h1>");
  • var items = xml.selectNodes("/rss/channel/item");
  • for(var i = 0; i < items.length; i++) {
  • Response.Write("<h3>" + items[i].selectSingleNode("title").text + "</h3>");
  • Response.Write("<small>" + items[i].selectSingleNode("pubDate").text + "</small>");
  • Response.Write("<div>" + items[i].selectSingleNode("description").text + "</div><hr />");
  • }
  • items = null;
  • xmlhttp = null;
  • %>

这些如果弄明白了,写一个RSS新闻聚合器就不是难事了。当然XMLDOM操作就不在本系列的范围之类了。

5. to be continued

呃,这篇其实有点废话了。隔得有点久,都快忘了该写什么了。

接下来会写写稍微进阶点的操作。

系列目录:

1. 服务器XMLHTTP(Server XMLHTTP in ASP)基础

2. 服务端XMLHTTP(ServerXMLHTTP in ASP)基本应用(上)

by xujiwei

http://www.xujiwei.com

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>