赛迪网 > IT技术 编程语言 > 文章
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

利用VB访问Internet

发布时间:2006.08.16 02:47     来源:plwww    作者:

利用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,就可以通过对象缓冲区仔细处理页面中的内容


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 将Visual Basic 6.0程序转换到Visual Basic.N (09-09) · 用VB开发应用程序如何使用INI文件 (11-12)
· Win95系统API函数大揭秘 (07-21) · VB经验技巧(一) (12-12)
· 从 Visual Basic 6.0 到 Visual Basic.NET 的 (10-08) · 怎样让移动图像显示更快一些... (01-08)
· 实现无标题栏拖动 (05-24) · AutoRedraw属性与窗体设备场景的深入探讨 (11-21)
· 在VB中调用Windows API的注意事项 (02-02) · --==vb6中用图片框任意大小播放AVI电影(New (10-14)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管