下载文件是每个网友都经常做的事,大家一般都是用一些专用软件如“网络蚂蚁”来完成。但是,如果要自己编写一个程序,实现下载一个特定的文件(如下载相关的网页并显示出来)又该怎么做呢?不要急,看了下面的介绍你就会知道实现文件的下载其实是很简单的。
在vb中有一个 winsock 控件,通过它可以实现文件的下载。下面我首先介绍一下该控件的主要属性、方法和事件:
localpor属性:设置本地计算机使用的端口(一般设置为0);
protocol属性:设置winsock控件使用的协议,tcp或udp(一般设置为0);
remoteport属性:设置要连接的远端计算机端口(80为http21为ftp,25为smtp);
remotehost 属性:设置用于标识远程计算机的名称(remoteport 属性如果为 80 则设置为“sohu.com”或“sina.com.cn”,如果为 25 则设置为“smtp.21cn.com”);
connect方法:要求连接到远程计算机;
close方法:关闭连接;
senddata方法:将数据发送给远程计算机;
getdata方法:获取当前的数据块并将其存储在变体类型的变量中;
connect事件:当一个connect操作完成时发生;
close事件:当close操作完成时发生;
dataarrival事件:接收数据时发生;
下面我们就来实现文件的下载功能,并以下载搜狐网站的首页为例:
option explicit [rivate sub winsock1_dataarrivalbyval bytestotal as long |
开始下载,收到数据时,发生dataarrival事件
| on error resume next dim webdata as string winsock1.getdata webdata vbstring myall = myall + webdata 取得相关的网页文件 end sub private sub winsock1_close 当下载完成时发生。 |
自己定义相关的操作
myall 是下载的网页,你可以把它显示在文本框中,也可把它保存为文件,也可通过一些自定义的函数进行信息的提取,限于篇幅,这里就不介绍了。
winsock1.close 关闭 winsock
end sub
到此为止,相信你已了解如何在vb中通过 winsock 控件下载文件了。本程序在 vb6.0、win98 环境下运行正常,如果你还有什么问题,可到 www.d1vb.com来,我们一起讨论。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器