CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  API

如何通过FTP下载文件?

楼主Sqs82(沉睡者)2006-02-07 12:32:44 在 VB / API 提问

例如服务器端ftp://aaa.com上,用户名a   口令a  
  有一个1.txt如何写代码下载到本地计算机? 问题点数:50、回复次数:6Top

1 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2006-02-07 12:44:10 得分 10

一、学习FTP协议,自己写程序根据FTP协议下载文件  
  二、调用InternetOpen新建连接对象、调用InternetConnect连接FTP服务器,调用FtpGetFile下载文件,最后别忘了调用InternetCloseHandle关闭连接Top

2 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-02-07 13:43:12 得分 0

oPtion   exPlicit  
  Dim   myall   as   strinG  
  PriVate   suB   form_loaD  
  建立连接  
  Winsock1.Protocol=0  
  Winsock1.remoteHost   =   "soHu.Com如果想下载"新浪"首页,则换为   sina.Com.cn  
  Winsock1.remotePort   =   80  
  Winsock1.Connect   开始提取数据  
  enD   suB  
  PriVate   suB   Winsock1_connect  
  Dim   strcommanD   as   strinG  
  Dim   strWeBPaGe   as   strinG  
  strWeBPaGe   =   "Http//WWW.osHu.Com/"   指定网页,这里是指搜狐的首页  
  strcommanD   =   "Get   "   +   strWeBPaGe   +   "   HttP/1.0"   +   VBcrlf  
  strcommanD   =   strcommanD   +   "accePt/"   +   VBcrlf  
  strcommanD   =   strcommanD   +   "accePttext/Html"   +   VBcrlf  
  strcommanD   =   strcommanD   +   VBcrlf  
  Winsock1.senDData   strcommanD   发送命令  
  end   sub  
   
   
  [riVate   suB   Winsock1_DataarriValByVal   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  
   
  Top

3 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-02-07 13:51:06 得分 10

发错了,呵呵  
      你的问题应该可以这样:  
    写一个bat文件,里面的内容是dos命令  
    ftp  
    open   ftp://aaa.com  
    user:a  
    user:a  
    get   1.txt   D:\1.txtTop

4 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-02-07 13:54:50 得分 0

请使用这个代码写入bat文件中          
          c:\windows\ftp   hostname    
    username    
    password    
    get   1.txt   d:\upload.txt    
    bye    
  保存为get.bat   文件  
  调用:  
  shell   "D:\get.bat"  
  Top

5 楼goodname008(卢培培,充电中......)回复于 2006-02-07 14:07:32 得分 15

http://blog.csdn.net/goodname008/archive/2006/01/02/568668.aspx  
  前段时间写的一个用HTTP协议下载文件的,FTP照着做就行了,协议不同而已,查一下RFC。  
  我这个已经做成DLL,楼主要用可以拿去用。Top

6 楼lichliu(asd)回复于 2006-02-24 19:05:41 得分 15

用inet控件吧,既简单又方便!  
  上传  
  With   Inet1  
      .URL   =   "ftp://172.21.***.**"  
      .UserName   =   "username"  
      .Password   =   "***"  
      .Protocol   =   icFTP  
      .RequestTimeout   =   120  
    End   With  
    Inet1.Execute   ,   "PUT   "   &   App.Path   &   "\zzz.txt"   &   "   "   &   "/laqx/zzz.txt"  
          Do   While   Inet1.StillExecuting  
          DoEvents  
          Loop  
  下载  
  With   Inet1  
      .URL   =   "ftp://172.21.99.55"  
      .UserName   =   "username"  
      .Password   =   "psw"  
      .Protocol   =   icFTP  
      .RequestTimeout   =   120  
    End   With  
    Inet1.Execute   ,   "get   "   &   App.Path   &   "\zzz.txt"   &   "   "   &   "/laqx/zzz.txt"  
          Do   While   Inet1.StillExecuting  
          DoEvents  
          Loop  
  注意PUT 和GET后面的空格就是了Top

相关问题

  • 怎样通过HTTP代理从FTP服务器下载文件?
  • 不生成文件直接从数据库上下载文件??另通过某个按钮,直接下载FTP上的某文件,并且可以另存为??
  • 通过URL取得下载文件名
  • 通过什么软件可以用sock代理上网,只要能用http、ftp下载文件就行
  • 关于FTP的问题:通过WinINet Functions:FtpGetFile和FtpPutFile下载和上传文件时,如何知道
  • 怎么我通过FTP下载的文件要小点,帮忙看看问题出在哪儿了?
  • 从FTP服务器上下载文件
  • 急问ftp的传送文件和下载文件
  • 通过代码实现:知道网址如何下载文件?
  • 有谁能提供通过HTTP下载文件的程序?

关键词

  • 文件
  • winsock
  • 下载
  • 连接
  • strcommand
  • vbcrlfstrcommand
  • 调用
  • ftp
  • sub

得分解答快速导航

  • 帖主:Sqs82
  • zyl910
  • ZOU_SEAFARER
  • goodname008
  • lichliu

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo