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

作者:xujiwei 来源:HotHeart's BLOG 时间:2008-11-11 12:59:00 

接着上一篇《服务端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)基本应用(上)

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

4.服务端XMLHTTP(ServerXMLHTTP in ASP)进阶应用-User Agent伪装

标签:XMLHTTP,open,XML,文档,responseXML
0
投稿

猜你喜欢

  • asp用err.raise自定义错误信息

    2007-09-12 19:38:00
  • 怎样修改 MySQL数据库中的密码

    2008-11-27 15:35:00
  • Data URI 和 MHTML

    2009-08-16 16:19:00
  • asp什么情况下用响应缓冲会提高运行速度?

    2010-07-14 21:02:00
  • 那些被我遗忘掉的XHTML标签们

    2008-06-07 14:27:00
  • 发现一个不错的11px字体:PMingLiu

    2008-09-06 12:49:00
  • 如何在页面中快捷地添加翻页按钮?

    2010-06-26 12:33:00
  • JScript RuntimeObject检测全局污染

    2010-09-13 12:26:00
  • 如何实现文件上传并自动归类功能?

    2010-05-24 18:37:00
  • ASP中不用模板生成HTML静态页面的方法

    2011-03-06 10:49:00
  • 国内ASP开源建站系统一览

    2009-07-10 13:21:00
  • CSS样式设计技巧十则

    2008-06-04 12:18:00
  • 十几行的超简日历组件(兼容FF)js源码

    2010-08-08 08:49:00
  • JavaScript 获取客户端计算机硬件及系统信息

    2009-01-13 17:59:00
  • ORACLE 常用函数总结(80个)第1/2页

    2009-09-18 13:23:00
  • centos 安装mysql中遇到问题的解决办法

    2010-12-14 15:11:00
  • asp如何读取服务器上的驱动器?

    2009-11-18 20:50:00
  • MySQL在命名用过程中所遇到的常见问题

    2008-12-05 16:03:00
  • MySQL修改默认字符集

    2010-11-02 12:11:00
  • 几种修复ACCESS数据库的实用方法

    2008-11-20 17:37:00
  • asp之家 网络编程 m.aspxhome.com