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

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

在上一篇《服务器XMLHTTP(Server XMLHTTP in ASP)基础》中我介绍了一下ServerXMLHTTP对象的一些基本属性和方法,接下来我讲讲ServerXMLHTTP的基本应用。

在ServerXMLHTTP中,异步请求不再是主要用途,往往是同步的请求用得更多,因为在服务端编程中,程序的执行是需要迅速结束并返回结果的,不像在桌面程序中,有一个消息循环。这样就导致了在服务端编程中,同步编程用得更多。当然,这并不是说异步请求没有用处,在一定的情况下,异步请求会有很大的作用。

1. 简单的使用ServerXMLHTTP请求并显示指定Url

首先来看一下很简单的例子,使用ServerXMLHTTP请求Google的首页并显示出来:

程序代码:

<%@LANGUAGE="JScript" CODEPAGE="65001"%> 
<% 
// code from xujiwei 
// http://www.xujiwei.cn 
var url = "http://www.google.cn"; 
var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.5.0"); 
xmlhttp.open("GET", url, false); 
xmlhttp.send(""); 
Response.BinaryWrite(xmlhttp.responseBody); 
xmlhttp = null; 
%>

在浏览器查看这个页面,你就可以看到Google的首页了:

但是,我们可以看到,这里的Logo图片是没有显示的,因为这个logo在网页源代码里是以相对路径的方式来指定的:

<img src=/intl/zh-CN/images/logo_cn.gif width=286 height=110 border=0 alt="Google" title="Google">

但是,我们的测试服务器里并没有这个图片文件,因此浏览器就会显示此图片的替代文字“Google”。

这里我使用了xmlhttp的responseBody属性,这是因为,在不知道所请求的网页是使用什么编码的情况下,可以让浏览器来处理这个问题,而不用在服务器处理编码。如果要在服务器处理编码,你必需知道你所请求的URL所返回的内容是使用什么编码的,并且正确的将返回内容进行转码以使得客户端浏览器能正常的显示。

例如,我们请求Baidu的首页,就会因为编码问题而导致页面完全错乱:

所以,使用或者responseBody,完全取决于我们的需要,并不是一成不变的,或者,在某些时候,我们要使用的并不是这两个中的一个,而是responseXML:)

标签:XMLHTTP,Url,responseText,setTimeouts,超时,服务器
0
投稿

猜你喜欢

  • sqlserver 聚集索引和非聚集索引实例

    2024-01-18 21:29:12
  • python实现飞机大战

    2021-03-05 04:19:26
  • MySQL做读写分离提高性能缓解数据库压力

    2024-01-27 14:36:19
  • Go基于GORM 获取当前请求所执行的 SQL 信息(思路详解)

    2024-04-26 17:26:03
  • 使用批处理脚本自动生成并上传NuGet包(操作方法)

    2021-12-24 18:05:34
  • MySQL 通过索引优化含ORDER BY的语句

    2024-01-12 19:16:06
  • 跟老齐学Python之用while来循环

    2021-01-13 23:38:18
  • Python中的if、else、elif语句用法简明讲解

    2023-05-18 22:18:59
  • python opencv旋转图像(保持图像不被裁减)

    2022-02-09 13:56:32
  • mysql查询字段类型为json时的两种查询方式

    2024-01-27 19:05:48
  • 用"表情符号"做植入广告 是否可行呢?

    2009-02-23 13:07:00
  • 全网首秀之Pycharm十大实用技巧(推荐)

    2023-08-09 16:11:00
  • Python自动化测试PO模型封装过程详解

    2023-08-23 18:59:49
  • fckeditor编辑器在php中的配置方法

    2023-10-14 14:26:52
  • Python数组拼接np.concatenate实现过程

    2023-11-12 04:26:10
  • Python之进行URL编码案例讲解

    2023-03-31 03:46:58
  • Go语言题解LeetCode705设计哈希集合

    2024-03-19 22:30:38
  • pytorch forward两个参数实例

    2022-09-05 09:54:34
  • python可以用哪些数据库

    2024-01-19 11:43:51
  • Python利用装饰器click处理解析命令行参数

    2023-12-23 20:49:05
  • asp之家 网络编程 m.aspxhome.com