Private Sub Command1_Click()
Winsock1.Connect "主机地址", 80
End SubPrivate Sub Winsock1_Connect()
Winsock1.SendData "Get 这里为下载文件的地址 HTTP/1.0" & vbCrLf & "Accept *.* " & vbCrLf & vbCrLf
open "要保存的文件路径" for output as #1
End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim str As String
dim databyte()
redim databyte(bytestotal)
static first as boolean '这里设置判断是否是第一次接收数据
if not first then
first=true
Winsock1.GetData str, vbString '这里面包含了下载文件的大小等信息,你可以自己分析一下,以便在接收完成以后断开连接
else '开始接收文件
winsock1.getdata databyte,vbbyte
print #1,databyte
if 接收完成 then
close #1
winsock1.close
end if
end if
End SubPrivate Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
msgbox "下载文件错误"
close #1
Winsock1.Close
End Sub我没有进行调试,你可以自己先看看,我原来写过这方面的东西,但找不到源代码了
Winsock1.Connect "主机地址", 80
End SubPrivate Sub Winsock1_Connect()
Winsock1.SendData "Get 这里为下载文件的地址 HTTP/1.0" & vbCrLf & "Accept *.* " & vbCrLf & vbCrLf
open "要保存的文件路径" for output as #1
End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim str As String
dim databyte()
redim databyte(bytestotal)
static first as boolean '这里设置判断是否是第一次接收数据
if not first then
first=true
Winsock1.GetData str, vbString '这里面包含了下载文件的大小等信息,你可以自己分析一下,以便在接收完成以后断开连接
else '开始接收文件
winsock1.getdata databyte,vbbyte
print #1,databyte
if 接收完成 then
close #1
winsock1.close
end if
end if
End SubPrivate Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
msgbox "下载文件错误"
close #1
Winsock1.Close
End Sub我没有进行调试,你可以自己先看看,我原来写过这方面的东西,但找不到源代码了
解决方案 »
- 我是新手想问一下VB中的一个简单问题 如何计算Textbox中的段落,最好有简单实现的函数,
- 别人升星散分,我多了条裤衩也散分^*^
- 用vb的DataReport如何在页角显示第几页,共几页?
- 串口通讯问题:有什么语句可以把缓冲区的数据清空?
- [求助]怎样做一个邮件发送的程序!高手指教!这样用MAPI怎么不行!
- 请问如何通过程序给Excel中的单元格添加批注
- 小弟有急事
- 需要全套ERP源代码的程序员可以与我联系
- 小弟正在研究关于 HTML 压缩的问题,请问那位有相关的资料?请不吝赐教。谢谢!
- 简单问题,请教大家!(答者有分!-娉婷)
- VB中的数据文件绘图
- 请问可以在mshflexgrid控件的表格中之间更新数据库的数据吗?
OpenURL 方法
打开并返回指定 URL 的文档。文档以变体型返回。该方法完成时,URL 的各种属性(以及该 URL 的一些部分,如协议)将被更新,以符合当前的 URL。语法object.OpenUrl url [,datatype]OpenURL 属性的语法包含下面部分:部分 描述
object 对象表达式,其值是“应用于”列表中的对象。
url 必需的。被检索文档的 URL。
datatype 可选的。整数,如“设置值”所示,指定数据类型。
设置值datatype 的设置值:常数 值 描述
icString 0 缺省值。把数据作为字符串来检索。
icByteArray 1 把数据作为字节数组来检索。
返回类型Variant说明OpenURL 方法的返回值取决于 URL 的目标。例如,如果 URL 的目标是某个 FTP 服务器的目录,将返回该目录。另一方面,如果目标是一个文件,则检索该文件。OpenURL 方法等效于:调用带 GET 操作的 Execute 方法,然后在 StateChanged 事件中调用 GetChunk 方法。但是,OpenURL 方法会导致从站点返回同步数据流。如下所示,如果正在检索一个二进制文件,在把它写到磁盘上之前,请务必使用一个字节数组作为临时变量:Dim b() As Byte
Dim strURL As String
'设置 strURL 为一个有效的地址。
strURL = "FTP://ftp.GreatSite.com/China.exe"
b() = Inet1.OpenURL(strURL, icByteArray)Open "C:\Temp\China.exe" For Binary Access _
Write As #1
Put #1, , b()
Close #1注意 当使用 OpenURL 方法时,在设置 Password 和 UserName 属性之前,设置 URL 属性。如果最后设置 URL 属性, UserName 和 Password 属性将被置为 ""。