XML相关技术资料_小偷/采集

xmlHTTP技术: 
---------------------------------------------------------- 
一、数据库远程管理技术 

基于互联网的广域网现代应用中的一个重要环节是数据库远程监控。首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 

早期通过编写CGI-BIN程序模块进行数据库远程管理。但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用。 

这几年使用组件对象模型(Component Object Model, COM)的应用非常多,效果也很好。但如果使用的是第三方服务器(笔者的网站就是建立在第三方的虚拟主机上),服务器方往往因为保密或其它商业原因不允许用户注册自己的组件。 

近年来由微软公司推出的.NET平台和SUN公司的J2EE平台都是非常高档的数据库远程管理与服务平台。都能提供优质的多层(n-Tier)应用服务。 
其中,.NET的简单对象访问协议(Simple Object Access Protocol, SOAP)使用超文本传输协议(Hypertext Transfer Protocol, HTTP)和扩展标记语言(Extensible Markup Language, XML)技术实现跨系统(例如Windows - Linux)的通讯服务方式已经广为开发商接受和使用。许多大型应用,例如企业资源计划(Enterprise resource planning, ERP)等都建立在这样的大型平台之上。 
但对于中小型应用,比如一个网站的建设和维护,这种大型应用平台就显得有些尾大不掉,开销也过于庞大。 

曾经在互联网技术和Java技术方面一度落后的微软公司在XML应用开发则走在了前头。她的XML解析器(MSXML)中的XMLHTTP协议是一个非常方便实用的客户/服务通讯管道。综合运用XMLHTTP以及ActiveX数据对象(ActiveX Data Objects, ADO/ADOX)可以简单方便地实现数据库远程管理。 

本文介绍如何综合运用XMLHTTP和ADO/ADOX进行远程数据库管理。 

二、数据库远程管理体系 

数据库远程管理的任务流程是: 
1、客户端向服务端发出数据库结构和数据的查询或修改指令。 
2、服务端接受并执行有关指令并向客户端返回结果。 
3、客户端接受并显示服务端返回的指令执行结果。 

实现数据库远程管理的二个主要关键环节是: 
1、客户端与服务端之间的指令上传和结果下传的数据通道,由XMLHTTP协议实现。 
2、服务端前沿与数据库之间的指令传送和结果返回,由起着中间层作用的ADO/ADOX接口完成。 
三、XMLHTTP的使用 

顾名思义,XMLHTTP是个传送XML格式数据的超文本传输协议。 

实际上,XMLHTTP的数据传输过程更为灵活一些: 
它上传的指令可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。还可以是URL的参数。 
它下达的结果可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。 
详情可参阅文末链接。 

客户端调用XMLHTTP的过程很简单,只有5个步骤: 
1、创建XMLHTTP对象 
2、打开与服务端的连接,同时定义指令发送方式,服务网页(URL)和请求权限等。 
    客户端通过Open命令打开与服务端的服务网页的连接。与普通HTTP指令传送一样,可以用"GET"方法或"POST"方法指向服务端的服务网页。 
3、发送指令。 
4、等待并接收服务端返回的处理结果。 
5、释放XMLHTTP对象 

XMLHTTP方法: 
Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword 
    bstrMethod:数据传送方式,即GET或POST。 
    bstrUrl:服务网页的URL。 
    varAsync:是否同步执行。缺省为True,即同步执行,但只能在DOM中实施同步执行。 
     应用中一般将其置为False,即异步执行。 
    bstrUser:用户名,可省略。 
    bstrPassword:用户口令,可省略。 

Send varBody 
    varBody:指令集。可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。也可以省略,让指令通过Open方法的URL参数代入。 

setRequestHeader bstrHeader, bstrValue 
    bstrHeader:HTTP 头(header) 
    bstrValue:HTTP 头(header)的值 
    如果Open方法定义为POST,可以定义表单方式上传: 
    xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 

XMLHTTP属性: 
onreadystatechange:在同步执行方式下获得返回结果的事件句柄。只能在DOM中调用。 
responseBody:结果返回为无符号整数数组。 
responseStream:结果返回为IStream流。 
responseText :结果返回为字符串。 
responseXML:结果返回为XML格式数据。 

下面是本文附件源程序中的一个应用示例: 
Function GetResult(urlStr) 
    Dim xmlHttp 
    Dim retStr 

    Set xmlHttp = CreateObject("Msxml2.XMLHTTP")    '创建对象 
    On Error Resume Next                    '出错处理 
    xmlHttp.Open "POST", urlStr, False        '用POST方式打开连接,异步执行。 
    xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" '上传表单 
    xmlHttp.Send                            '发送指令 

    If Err.Number = 0 Then                    '如果连接正确 
        retStr = xmlHttp.responseText        '等待并获得服务端返回的结果字符串 
    Else 
        retStr = "Url not found"                '否则返回出错信息 
    End If 
    Set xmlHttp = nothing                    '释放对象 
    GetResult = retStr                        '返回结果 
End Function 

GetResult()函数带入一个服务网页的URL参数,把上传的指令安放在URL后面的参数上,如: 
    urlStr = "server.asp?cmd=" & cmd & "&db=" & db & "table=" & table 
    cmd:执行方式,例如查询,修改,删除等等。 
    db:服务端数据库名 
    table:服务端表名 

然后提交指令,等待并接收返回的处理结果。结果以字符串方式返回。 

最后由函数调用者处理并显示结果。 

时间: 2024-09-25 13:06:12

XML相关技术资料_小偷/采集的相关文章

XML相关技术资料_XML/RSS

xmlHTTP技术: ---------------------------------------------------------- 一.数据库远程管理技术 基于互联网的广域网现代应用中的一个重要环节是数据库远程监控.首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 早期通过编写CGI-BIN程序模块进行数据库远程管理.但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用. 这几年使用组件对象模型(Component Object Model, COM)的应用非常多

XMLHTTP批量抓取远程资料_小偷/采集

可以在此基础上结合正则表达式做成更好的效果,希望大家能分享一下Xmlhttp的session共享技术  <html>  <head>  <title>AUTOGET</title>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  </head>  <body bgcolor="#FFFF

XML相关技术资料

xmlHTTP技术:  ----------------------------------------------------------  一.数据库远程管理技术 基于互联网的广域网现代应用中的一个重要环节是数据库远程监控.首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 早期通过编写CGI-BIN程序模块进行数据库远程管理.但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用. 这几年使用组件对象模型(Component Object Model, COM)的应用非

网站生成静态页面,及网站数据采集的攻、防原理和策略_小偷/采集

发布时间:2005年11月27日 晚 文章作者:翟振凯 (小琦) 交流方式: 个人站:http://www.xiaoqi.net     技术站:http://www.iisvs.net 商业站:http://www.iisvs.com QQ:53353866 22336848 关于本文:         本着互联网共享主义精神,特写此文献给建站新手,授人以鱼,不如授人以渔,本文所讲的只是方法和原理,希 望大家看完此文,能够从中得到些帮助和启发.         本文从一个ASP程序员的角度用大

先锋海盗类_小偷/采集

<% '转发时请保留此声明信息,这段声明不并会影响你的速度!'**************************   [先锋海盗类]Ver2005  最终版********************************'作者:孙立宇.apollosun.ezhonghua'改进者:arllic '[消除所有的BUG,去掉了一些不易使用,容易使人误解的功能,优化了执行效率,此为最终版]'官方网站:http://www.lkstar.com   技术支持论坛:http://bbs.lkstar.

用XML+FSO+JS实现服务器端文件的选择效果_小偷/采集

<%'written by Linzhang Chen ,2003-4-20 ' 转载请注明出处和保留此版权信息 response.write "<?xml version=""1.0"" encoding=""GB2312""?>"&chr(13)response.write "<mediafile>"&chr(13)folders=req

利用xmlhttp和adodb.stream加缓存技术下载远程Web文件_小偷/采集

<%'----------远程获取内容,并将内容存在本地电脑上,包括任何文件!----------'---------------利用xmlhttp和adodb.stream-----------------'On Error Resume Next'-------------------------------定义输出格式-----------------------------path=request("path")if path ="" thenpath

帮你打造属于自己的搜索引擎---百度篇_小偷/采集

想拥有属于自己的搜索引擎吗?采用目前流行的数据采集方法,你就可以立即拥有.下面就教你一步步地去实现. 一.认识百度搜索 百度搜索,全球最大中文搜索引擎,2005年8月5日在美国纳斯达克上市交易,目前是国内用户使用率最高的搜索引擎,提供网页.新闻.图片.音乐.地图等各种搜索 1.百度网页搜索的查询参数 必备参数 ☆ wd--查询的关键词(Keyword) ☆ pn--显示结果的页数(Page Number) ☆ cl--搜索类型(Class),cl=3为网页搜索 可选参数 ☆ rn--搜索结果显示

用xmlhttp编写web采集程序_小偷/采集

晰带语法着色的版本:http://gwx.showus.net/blog/article.asp?id=229 原创很辛苦,转载请注明原文链接:http://gwx.showus.net/blog/article.asp?id=229 web采集程序?网页抓取程序?小倫程序?不管怎么叫,这种程序应用倒是蛮广的.本文不讨论这种使用这种程序引起的版权或道德问题,只谈这种程序在ASP+VBScript环境下的实现 :-) 预备知识:除了一般的ASP+VBScript的知识外,你还需要了解xmlhttp