社区
控件
帖子详情
请如何使用WININET(api)或Internet Transfer(控件)
xjbx
博客专家认证
2003-07-10 11:36:47
如何用他们上传文件
...全文
64
4
打赏
收藏
请如何使用WININET(api)或Internet Transfer(控件)
如何用他们上传文件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xjbx
2003-07-16
打赏
举报
回复
up
xjbx
2003-07-10
打赏
举报
回复
这个资料我有
我是想用http 协议做?如何实现呢?
lxqlogo0
2003-07-10
打赏
举报
回复
用Internet Transfer编写FTP程序
常上网的人都对FTP熟悉得不能再熟悉了,它是文件传输协议的英文缩写,所谓文件传输协议就是人们规定的在网络间传输文件的一组规定,里面规定了数据包的格式、数据包头部结构、命令结构等等。其实要想实现FTP的功能并不是很难,下面我们就来介绍一下如何作一个简单的Windows界面的FTP程序。
其实我们常用的VC和VB等开发工具就可以轻松搞定,下面我们就来说说在VB中使用Microsoft Internet Transfer控件实现FTP的功能。
Internet Transfer控件,支持HTTP(超文本传输协议)和FTP(文件传输协议),超文本传输协议就是我们的浏览器传输网页时使用的协议,也就是说你也可以用它作一个浏览器。我们这里主要讨论文件传输协议FTP。
首先创建一个新工程,在你的工具箱上添加Microsoft Internet Transfer控件,并放到你的主窗体上,注意看它的属性:
Protocol指所用的协议,我们这里选2-icFTP,就是FTP协议。
UserName和Password是这样的:UserName和Password都给null或“"时,发送到FTP Server的UserName是“anonymous",Password是用户的Email,当UserName给null或“",而Password为非空字符串时是错误的,其他情况正常。
RemoteHost写FTP Server(就是你要连到的那台主机,你可以在程序中动态地给这个属性赋值,以适应连接到不同的主机上)的域名地
址或IP,RemotePort在你指定FTP协议时自动被设置成21,URL属性由RemoteHost、RemotePort、Protocol等几个属性内容组合而成,如果前面已经给出这些值,VB会自动生成URL,以上这些属性均可以在程序中动态赋值,使你可以更灵活地运用这个控件。
下面说说这个控件的方法(Method):
1、OpenURL,调用该方法会连通FTP Server属性中指定的主机,并返回它的Welcom Message,一般是一些欢迎词和当前有多少用户登录等信息。
2、Execute方法用于执行对远程服务器的请求,它能发送对特定协议有效的请求,对于FTP协议来说,有效的操作有:
CD file1
改变目录。改变到file1中指定的目录。
CDUP
改变到父目录。等效于“CD...”
CLOSE
关闭当前的FTP连接。
DELETE file1
删除file1中指定的文件。
DIR,LS file1
搜索file1中指定的目录(允许用通配符,但要使用远程主机的语法)。如果没有指定file1,将返回当前的整个工作目录。使用GetChunk方法返回目录数据。
GET,RECV file1 file2
检索file1中指定的远程文件,并创建file2中指定的新本地文件。
MKDIR file1
创建目录。创建file1中指定的目录。创建是否成功取决于用户在远程主机上的权限。
PUT,SEND file1 file2
复制file1指定的本地文件到file2指定的远程主机上。
PWD
打印工作目录。返回当前目录名。使用GetChunk方法返回数据。
QUIT
终止当前用户。
RENAME file1 file2
将file1中命名的远程文件重命名为file2中指定的新名称。成功与否取决于用户在远程主机上的权限。
RMDIR file1
删除目录。删除file1中指定的远程目录。成功与否取决于用户在远程主机上的权限。
SIZE file1
返回file1指定的目录的大小。
举个例子:
Inet1.Execute“",“dir"
debug.print Inet1.GetChunk这一句将打印出上一句dir的结果。
Inet1.Execute“",“Get file1 C:\File1"这个命令会把对方c:\File1的文件取到本机当前目录下(这里假设对方是windows base的机器,并且有c:\File1的文件)。
下面说说该控件唯一的事件StateChanged。
当这个FTP连接中状态发生了改变,如登录成功、命令接收成功、断线等等都会引发该事件。该事件的处理函数有一个参数state,表明当前连接状态,它的值定义如下:
值标识符意义
0 icNone无状态可报告。
1 icHostResolvingHost该控件正在查询所指定的主机的IP地址。
2 icHostResolved该控件已成功地找到所指定的主机的IP地址。
3 icConnecting该控件正在与主机连接。
4 icConnected该控件已与主机连接成功。
5 icRequesting该控件正在向主机发送请求。
6 icRequestSent该控件发送请求已成功。
7 icReceivingResponse该控件正在接收主机的响应。
8 icResponseReceived该控件已成功地接收到主机的响应。
9 icDisconnecting该控件正在解除与主机的连接。
10 icDisconnected该控件已成功地与主机解除了连接。
11 icError与主机通讯时出现了错误。
12 icResponseCompleted该请求已经完成,并且所有数据均已接收到。
用Select case语句处理各个状态就行了。
怎么样,是不是很简单呀,一个简单的FTP你只须建立连接,从用户读取命令,用Execute方法将命令传送到对方主机就可以了,剩下的活都有Inet控件帮你搞定,但是要作得好用,还要处理各种网络错误,用递归处理子目录上载或下载,为用户建立FTP服务器的地址簿等,这里不做更深一步讨论。
xjbx
2003-07-10
打赏
举报
回复
没人知道嚒?
VB网络编程实例
◆ 77.htm 显示计算机的名称 ◆ 78.htm 用 M
API
控件
实现发送邮件 ◆ 79.htm 用
Win
Sock
控件
下载文件 ◆ 80.htm 用
Win
sock 实现聊天的程序 ◆ 81.htm 用
Internet
Transfer
编写FTP程序 ...
VB编程资源大全(源码 网络)
(80KB) 47,
inet
dial.ZIP 利用
Win
inet
实现建立
Internet
拨号连接和断开连接(2KB) 48,getallserveronnet.ZIP 相当不错和完整的程序。利用
API
获得当前网络中的所有计算机名称以及获得当前可用的服务器、...
Visual C++ 编程资源大全(英文源码 网络)
29.zip Code for "View Source" option in
Internet
Explorer 1K 实现类似IE的"浏览源代码"功能(4KB)<END><br>107,30.zip Using the Web Browser control (IE3)
使用
Web浏览器
控件
(5KB)<END><br>108,...
Internet
Transfer
Control
控件
Inet
控件
- Microsoft
Internet
Transfer
Control 6.0 -MS
INET
.OCX AccessType 属性 设置或返回一个值,决定该
控件
用来与
Internet
网进行通讯的访问类型 icUseDefault 0
控件
使用
在注册表中找到的缺省...
Inet
控件
- Microsoft
Internet
Transfer
Control 6.0 -M
icUseDefault 0
控件
使用
在注册表中找到的缺省设置值来访问
Internet
网。 icDirect 1 直接连到
Internet
网。
控件
直接连到
Internet
网。 icNamedProxy 2 指示
控件
使用
Proxy 属性中指定的代理服务器。
控件
1,451
社区成员
41,355
社区内容
发帖
与我相关
我的任务
控件
VB 控件
复制链接
扫一扫
分享
社区描述
VB 控件
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章