用VB的INET控件进行文件的自动上传下载服务.docx

上传人:b****2 文档编号:2145292 上传时间:2022-10-27 格式:DOCX 页数:20 大小:26.67KB
下载 相关 举报
用VB的INET控件进行文件的自动上传下载服务.docx_第1页
第1页 / 共20页
用VB的INET控件进行文件的自动上传下载服务.docx_第2页
第2页 / 共20页
用VB的INET控件进行文件的自动上传下载服务.docx_第3页
第3页 / 共20页
用VB的INET控件进行文件的自动上传下载服务.docx_第4页
第4页 / 共20页
用VB的INET控件进行文件的自动上传下载服务.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

用VB的INET控件进行文件的自动上传下载服务.docx

《用VB的INET控件进行文件的自动上传下载服务.docx》由会员分享,可在线阅读,更多相关《用VB的INET控件进行文件的自动上传下载服务.docx(20页珍藏版)》请在冰豆网上搜索。

用VB的INET控件进行文件的自动上传下载服务.docx

用VB的INET控件进行文件的自动上传下载服务

用VB的INET控件进行文件的自动上传下载服务

用VB的INET控件进行文件的自动上传下载服务

用VB的INET控件做FTP的上传文件:

sys_time=CDate(Now)

sys_time=Replace(sys_time,":

","")

sys_time=Replace(sys_time,"","")

Inet1.UserName="ll"

Inet1.Password="ll"

Inet1.Protocol=icFTP

Inet1.RemoteHost="10.10.200.21"

Inet1.RemotePort="27"

Inet1.Execute,"PUTDial.wav"+""+newName

Inet控件也叫InternetTransfer控件,那个控件封装了协议以及ftp协议,使用起来专门方便。

因此大伙儿经常使用。

然而大伙儿通常使用的只是其部分功能,接下来我们讲一下它的全部详细功能,看过之后你也许会有眼前一亮的感受。

会猛然觉得我们之前明白得的只是皮毛。

InternetTransfer控件实现了两种广泛使用的Internet协议:

超文本传送协议〔HyperTextTransferProtocol〕(也确实是)和文件传送协议〔Protocol〕(即FTP)。

使用InternetTransfer控件能够通过OpenURL或Execute方法连接到任何使用这两个协议的站点并检索文件。

能够做到的大体方向

在应用程序中添加FTP扫瞄器。

 

创建自动从公共FTP站点下载文件的应用程序。

 

分析WorldWideWeb站点中的图形引用,并只下载图形。

 

提供以自定义格式显示从Web页获得的动态数据。

差不多操作

InternetTransfer控件的功能依靠于将要使用的协议。

由于所支持的两种协议工作起来不尽相同,所能够进行的操作就依靠于正在使用的协议。

例如,GetHeader方法只能用于〔HTML文档〕协议。

然而,有些过程对两个协议是通用的。

最差不多的,假如要使用任何一个协议,那么必须:

将AccessType属性设置为合法的代理服务器。

 

用合法的URL调用OpenURL方法。

 

用合法的URL和协议支持的命令调用Execute方法。

 

用GetChunk方法从缓冲区猎取数据。

设置AccessType属性:

使用代理服务器

为了与Internet建立任何形式的连接,必须确定运算机如何连接到Internet上。

假如在intranet上,可能需要提供代理服务器才能连接到Internet上。

简单地说,代理服务器是运算机和Internet之间的媒介。

intranet上所有需要连接到Internet上的运算机,都必须通过代理服务器。

代理行使intranet和Internet之间的防火墙功能,能够阻止非法的最终用户和外部要求,也就爱护了intranet不受破坏。

要查找运算机中的代理设置值,请按照以下步骤执行:

打开操纵面板的Internet选项。

在〝Internet选项〞对话框中,单击〝连接〞。

在〝代理服务器〞中,确认选中了〝通过代理服务器连接〞复选框。

假如选中了,那么单击〝设置〞。

在该对话框中能够找到能够用于多种协议的代理服务器的名称。

假如没有定义代理服务器,请与系统治理员联系,以获得可用的代理服务器。

假如期望使用对话框中未列出的代理服务器,可将AccessType属性设置为icNamedProxy

(2)。

然后将Proxy属性设置为代理服务器的名称,如下面的代码所示:

Inet1.Proxy="myProxyName"

Inet1.AccessType=icNamedProxy

另一方面,假如期望使用缺省代理服务器〔由运算机的注册表决定〕,那么能够忽略Proxy属性,而只需将AccessType设置为icUseDefault(0)。

AccessType的设置值在下表中列出:

常数值描述

icUseDefault0〔缺省〕用作缺省。

控件使用注册表中的缺省设置访问Internet。

icDirect1直截了当连接Internet。

该控件可直截了当连接到Internet。

icNamedProxy2命名的代理服务器。

指示该控件使用Proxy属性确定的代理服务器。

调用OpenURL方法

'名为〝Text1〞的TextBox控件储存了

'该方法的结果。

Internet传输

'控件的名称是〝Inet1〞。

Text1.Text=Inet1.OpenURL("icrosoft")

作为结果,TextBox控件储存了HTML源码,它看上去应和以下图显示的相似:

在这种情形下,缺省操作返回的是URL定位的HTML文档。

然而,假如URL被改为指向文本文件,那么将获得实际的文件。

例如,下面的代码:

Text1.Text=Inet1._

OpenURL(".microsoft/disclaimer.txt")

将获得文件的实际文本,如下所示:

提示在使用OpenURL或Execute方法时,不需要设置Protocol属性。

InternetTransfer控件会自动按URL的协议部分确定的协议来设置。

最后,能够用包含附加数据的URL调用OpenURL方法。

例如,专门多Web站点提供了搜索数据库的能力。

要搜索数据库,那么需要在发送的URL中包含搜索条件。

例如下面的代码用条件〝find=Maui〞调用名为〝search.exe〞的搜索引擎。

DimstrURLAsString

strURL=""

Text1.Text=Inet1.OpenURL(strURL)

假如搜索引擎找到了符合条件的内容,将合成一个HTML文档并携带适当的信息返回。

用OpenURL方法储存到文件

假如需要将通过OpenURL方法猎取的数据储存到文件,能够使用Open、Put和Close语句,如下面的代码所示。

该例如先将获得的二进制文件传入Byte数组,然后将该数据储存到磁盘中:

DimstrURLAsString

DimbData()AsByte'数据变量

DimintInteger'可用文件变量

strURL=_

".microsoft/Softlib/Softlib.exe"

intFile=FreeFile()'将intFile设置为未使用的文件

'OpenURL方法的结果第一传入Byte数组,

'然后将Byte数组储存到磁盘。

bData()=Inet1.OpenURL(strURL,icByteArray)

Open"C:

\Temp\Softlib.exe"ForBinaryAccessWrite_

As#intFile

Put#intFile,,bData()

Close#intFile

可用类似的过程将文本文件写入磁盘中,不同的只是不再需要Byte数组了,数据能够直截了当储存到文件中:

DimstrURLAsString'URL字符串

DimintInteger'可用文件变量

IntFile=FreeFile()

strURL=""

Open"c:

\temp\MSsource.txt"ForOutput_

As#IntFile

Write#IntFile,Inet1.OpenURL(strURL)

Close#IntFile

同步和异步传输

OpenURL方法以同步方式传输数据。

在那个地点,同步指的是传输操作未完成之前,不能执行其它过程。

如此数据传输就必须在执行其它代码之前完成。

而Execute方法以异步方式传输数据。

在调用Execute方法时,传输操作与其它过程无关。

如此,在调用Execute方法后,在后台接收数据的同时,即可同时执行其它代码。

对InternetTransfer控件的使用者来说这意味着什么?

简单地说,用OpenURL方法能够直截了当得到可储存到磁盘的数据流〔如上所述〕,或者直截了当在TextBox控件中阅览〔假如数据是文本格式的〕。

从另一方面说,假如用Execute方法猎取数据,那么必须用StateChanged事件监视该控件的连接状态。

当达到适当的状态时,调用GetChunk方法从控件的缓冲区猎取数据。

下面更详细地讨论这一操作。

在FPT协议中使用Execute方法

Execute方法具有四个参数:

url、operation、data和requestHeaders。

FTP操作只用到了operation参数和url参数,其中后者是可选的。

例如,要从远程运算机中得到一个文件,可用下面的代码:

Inet1.Execute"",_

"GETdisclaimer.txtC:

\Temp\Disclaimer.txt"

假如正在用FTP从匿名FTP服务器中猎取文件,就应熟悉在服务器名目树中漫游的特定命令,以及将其中文件猎取到本地的硬盘中的命令。

例如,要用FPT协议改变名目,应使用带有期望改变到的名目路径的〝CD〞命令。

对绝大多数通用操作,如将文件传入服务器,以及从服务器猎取文件,Internet传输控件在Execute方法中使用了〔与FTP〕相同或相近的命令。

例如,下面的代码将〝CD〞命令作为Execute方法的参数以改变路径:

'txtURL文本框包含了要打开的路径。

'txtRemotePath文本框包含了要改变到的路径。

Inet1.ExecutetxtURL.Text,"CD"&txtRemotePath.Text

注意在Execute方法中使用FTP命令时,没有用到data和requestHeaders参数。

所有的操作和它们的参数都在operation参数中作为字符串进行传递;参数之间用空格进行分隔。

在下面的描述中,不要把〝file1〞和〝file2〞项与data和requestHeaders参数搞混。

FTP操作的语法是:

operationNamefile1file2

例如,要猎取文件,在下面的代码中包含了操作的名称(〝猎取〞),以及该操作所需的两个文件名:

'得到名为〝Disclaimer.txt〞的文件,并将其复制到

'C:

\Temp\Disclaimer.txt。

Inet1.Execute,_

"GETDisclaimer.txtC:

\Temp\Disclaimer.txt"

下表列出了该控件支持的FTP命令:

操作描述例如

CDfile1改变名目。

改变到由file1指定的名目中。

Execute,"CDdocs\mydocs"

CDUP改变到父名目。

功能与〝CD..〞相同。

Execute,"CDUP"

DELETEfile1删除由file1指定的文件。

Execute,"DELETEdiscard.txt"

DIR[file1]在由file1指定的名目中查找。

假如没有指定file1名目,那么查找当前工作名目。

使用GetChunk方法返回数据。

Execute,"DIR/myd

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1