如何通过FTP下载文件?
例如服务器端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_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
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




