利用VB访问Internet

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 showman 的 blog

利用vb访问internet

当前,有许多构造模块可以帮助用户创建名为超客户端(rich client)的internet应用, 其中包括visual basic(以下简称vb)的activex控件集合。它们可以提供smtp和pop邮件服务、ftp、newsgroup和web访问等功能。另外,利用ole也可以实现web访问的自动化。本文向大家介绍这两种方法。

在应用中嵌入active x控件


利用crescent的internet toolpak(internet 工具包)符合http协议的控件,可以将vb应用连接到web站点,向站点传送数据,并从站点获取html页面。crescent http控件不能实际显示出下载的html页面,但能使应用程序以字符串的形式使用页面数据。例如,如果服务器产生一个名叫myresult.html的html文件答复来自客户端的请求,客户端应用能够通过与服务器建立的crescent active x连接来获取并下载这个文件。建立连接的代码段如下:

cihttp1.hostname="myresult.myhost.com"cihttp1.url="results\myresult.html"ci http.parseincomingdata = truecihttp1.connecttoserver一旦active x控件与服务器建立连接,它就会触发httpserverconnection事件。这时,应用程序发出命令cihttp1.get,检索u rl属性中指定的页面,然后该控件激活fileclosed事件取回指定的页面。应用程序通过acti ve x的属性htmlpagetext withtags(主页不嵌有html代码时用属性htmlpagetextwithoutta gs)读页面文本。代码如下:

mytext= cihttp1. htmlpagetextwithtags如果不想用控件下载整个主页,可以通过控件的packetreceived事件的packet参数快速扫描页面数据。每当控件接受到服务器的数据后都会激活packetreceived事件。

另外,客户端应用还可以使用http控件提取来自标准浏览器的web页面数据。例如,acti vex控件在幕后与web建立连接并下载正在发布的页面,让传统的客户端应用不断接收最新we b信息,更改原有内容。

为进一步简化处理,在activex控件与web页面相连之前需设置好属性。crescent的http 控件还可以把下载页面的url地址、图像文件的地址和所有html命令文件分别添加到指定的三个列表框中。

用ole实现web访问的自动化


除了activex控件以外,还有一种方法可以实现应用程序与web的交互自动化,这就是ole 自动化,即利用ole automation建立传统应用,再通过浏览器的ole automation服务器接口进行自动web连接。netscape navigator 和microsoft internet explorer 3.0 以上版本都支持ole automation。

netscape navigator的ole automation接口是专为这一目的而设计的。例如,通过ole automation接口让navigator打开一个web页面,它不会在自身的浏览器窗口中显示这个页面 ,而是下载该页面的内容,复制到服务器对象的数据缓冲区中,让客户端的应用程序去访问这些内容。

例如,假设需要navigator在excel中打开一个web页面,首先必须使用excel的"引用"对话框引用navigator程序目录中的netscape.tlb库,然后把navigator对象作为一个实例,并完成打开页面的功能。代码如下:

dim nav as object, result as booleandim url$const urlget=0const urlpost=1ur l$=http://www.microsoft.com/indev/default.htmset nav=creatobject("netscape.netw ork")result=nav.open(url$,urlget,",",0," ")如果自动化对象的属性isfinished设置为 true,就可以通过对象缓冲区仔细处理页面中的内容

本文关键:vb
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top