首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络编程-> ASP教程
用VB创建FTP组件(get)-ASP教程,组件开发
作者:网友供稿 点击:2
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
基本步骤:

1、用一个internetopen调用设置环境。

2、调用internetconnect 函数与主机连接。

3、调用ftpgetfile 达到文件。

4、关闭第1、2步创建的句柄,用internetclosehandle 函数。

现在来仔细看看每一步:

1、通过调用internetopen 函数设置环境。下面是vb特定调用这一函数的声明:


private declare function internetopen lib "wininet.dll" alias "internetopena" _

  (byval sagent as string, byval laccesstype as long, byval sproxyname as string, _

  byval sproxybypass as string, byval lflags as long) as long


  参数sagent 用来指定调用wininet 函数的应用程序或实体。为了达到目的,可以设置ftp控制。


  参数laccesstype 指定我们是直接与某一主机相连还是使用代理服务器相连。如果传递值1,就直接与主机连接。如果传递3,就通过代理服务器。如果传递0,连接时就要基于

hkey_current_user\software\microsoft\windows\currentversion\internet settings下的注册表数值

proxyenable、proxyserver和 proxyoverride 。


  我们可以使用参数sproxyname和 sproxybypass,而不是注册设置来提供代理服务器和不使用代理服务器的ip地址和名字。列出代理的基本格式是rotocol=protocol://proxy_name:access_port?。例如,要指定proxy1 上的端口21为代理服务器,用ftp=ftp://proxy1:21?作为sproxyname。要饶过以ov? 开始的任何主机,sproxybypass 字符串应为ov*? 。


  最后,lflags 用来显示影响函数结果的不同选择。在我们的例子中,我们传递0。

  所以,不使用代理而打开一个internet session 时,我们的调用是这样的:

lnginet = internetopen(“ftp control”, 1, vbnullstring, vbnullstring, 0)

  如果函数调用失败,lnginet 为0。不然,lnginet 就保存在下一步中将要传递给internetconnect

函数的句柄的值。

2、通过调用internetconnect 函数与主机连接。vb特定调用这一函数的声明是:

private declare function internetconnect lib "wininet.dll" alias "internetconnecta" _

  (byval hinternetsession as long, byval sservername as string, _

  byval nserverport as integer, byval susername as string, _

  byval spassword as string, byval lservice as long, _

  byval lflags as long, byval lcontext as long) as long


  第一个参数hinternetsession 是internetopen 调用返回的句柄值。

  sservername 是我们即将连接的ftp服务器的ip地址或主机名。

  nserverport 指示与哪一个端口连接。在我们的例子中使用的值为0,它指示的是默认的端口21。

  susername 和 spassword 分别传递用户名和口令。

  lservice 用来指示使用的服务类型,如http, ftp等。通常传递值为1,表示ftp服务。

  如果将x8000000传递到 lflags 参数,连接将使用被动ftp语义。或者,在我们的例子中,传递0来使用非被动语义。


  最后,当使用回叫信号时,lcontext 用来识别应用程序的前后关系。因为在我们的例子中不使用回叫信号,所以这个值为0。


  现在使用匿名的电子邮件用户名与主机ftp.microsoft.com 相连接:

lnginetconn = internetconnect(lnginet, “ftp.microsoft.com”, 0, _

  “anonymous”,”ally@wallyworld.com”, 1, 0, 0)


  如果函数调用失败,则lnginetconn 为0。反之,lnginetconn 就保存在下一步中将传递给ftpgetfile 的句柄的值。


3、现在我们已经实现了连接,然后就需要调用ftpgetfile 。这个函数完成从一个ftp服务器上读取文件并在本地存储时有关的所有管理功能。vb特定调用这一函数的声明是:


private declare function ftpgetfile lib "wininet.dll" alias "ftpgetfilea" _

  (byval hftpsession as long, byval lpszremotefile as string, _

  byval lpsznewfile as string, byval ffailifexists as boolean, _

  byval dwflagsandattributes as long, byval dwflags as long, _

  byval dwcontext as long) as boolean


  第一个参数hftpsession 是internetconnect 调用返回的句柄值。

  lpszremotefile和lpsznewfile 分别是ftp服务器上的文件名和将在本地机上创建的文件名。

  ffailifexists 标志是0(替换本地文件)或1 (如果本地文件已经存在则取消)。

  dwflagsandattributes 用来指定本地文件的文件属性。在我们的例子中忽略,只传递0。

  dwflags 参数指定为1是用ascii 传输文件(a类传输方法),指定为2是用二进制传输文件(1类传输方法)。由于dirmap.txt 是ascii 文本文件,我们传递值1。

  最后,当使用回叫信号时,lcontext 用来识别应用程序前后关系。因为在我们的例子中不使用回叫信号,所以这个值为0。

  所以,以下是得到dirmap.txt文件并将其存在 c:\dirmap.txt的调用。如果本地文件已经存在,就覆盖它。

blnrc = ftpgetfile(lnginetconn, “dirmap.txt”,”c:\dirmap.txt”, 0, 0, 1, 0)

  如果函数调用成功,blnrc为 true, 反之为false。

4、现在文件已经被接收,使用internetclosehandle 调用来关闭连接和session 句柄。vb特定调用这一函数的声明是:


private declare function internetclosehandle lib "wininet.dll" (byval hinet as long) as integer.


  如同指明的一样,此函数只有一个参数hinet,是要关闭或抛弃的句柄的值。因为internetconnection 和internetopen 中有句柄,就需要调用这个关闭函数两次。另外因为internetconnection 句柄是由internetopen 句柄决定的,关闭他们时的顺序与创建时相反。

  以下是调用函数:

internetclosehandle lnginetconn

internetclosehandle lnginet


  用这短短的四步就完成了ftp get。


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·在ASP.NET中使用Office Web Components (OWC)创建统计图-.NET教程,数据库应用
·windows系统下jsp+mysql+tomcat的配置-JSP教程,Application/Applet
·把aspx文件编译成DLL文件-.NET教程,Asp.Net开发
·Haneng.com的简单留言板制作源程序例子-ASP教程,ASP应用
·使用VB实现邮箱自动注册(一):表单自动提交-.NET教程,VB.Net语言
·VS.NET安装指南(To菜鸟)-.NET教程,Asp.Net开发
·web下水晶报表的使用!-.NET教程,Web Service开发
·C# 静态成员和方法的学习小结-.NET教程,数据库应用
·IIS的使用-ASP教程,ASP基础
·asp讲座之二:读取通过表单发送的数据
最新文章
·photoshop鼠绘实例:浪漫夏夜壁纸_photoshop教程
·买卖中小网站交易的一些细节问题_站长心得
·七招打造最安全的windows xp操作系统_windows xp
·做google adsense最佳和最重要的要诀_网赚技巧
·上下文关联广告清单(内文广告)推荐_网赚技巧
·广告联盟,痛定思痛_网赚技巧
·insenz首批广告费发放给站长_网赚技巧
·李彦宏:三分之一时间用在寻找人才_站长访谈
·中国汽车资源网杨锁民:网络寒冬时下海_站长访谈
·做it新闻资讯网站应先学新浪_站长心得
相关主题
  • 用vb创建复杂表格_visualbasic教程
  • 用vb创建excel报表_visualbasic教程
  • 用VB创建FTP组件(get)-ASP教程,组件开发
  • 用VB创建FTP组件(put)-ASP教程,组件开发
  • 用VB创建FTP组件(put)-ASP教程,组件开发
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭