日期:2009-05-19  浏览次数:20960 次

Microsoft Internet Transfer Control 使用简介
Example:
Dim objInet
Set objInet = Server.CreateObject("InetCtls.Inet.1")
在VB里面先把它加到部件里,然后直接放到form上面就可以了

1.Get HTTP Page
strHTML = objInet.OpenURL(strURL)
或者
objInet.URL = strURL
strHTML = objInet.OpenURL

2.Get HTTP File
'我还不知道在ASP里面怎么用,有知道的请指点。
Dim b() As Byte
b() = objInet.OpenURL(strURL, icByteArray)
If UBound(b) < 1 Then
    strErrorMsg = "无法打开该URL地址!"
Else
    Open FileName For Binary Access Write As #1
    Put #1, , b()
    Close #1
End If

3.Get FTP File
'如果不是匿名的话
objInet.Username = "yourname"
objInet.Password = "yourpass"
objInet.URL = "ftp://ftp.pku.edu.cn"
objInet.Execute , "CD dir1"
objInet.Execute , "GET xx.exe c:\download\xx.exe"
objInet.Execute , "QUIT"

4.List FTP Files
objInet.URL = "ftp://ftp.pku.edu.cn"
objInet.Execute , "DIR /dir1"
Private Sub objInet_StateChanged(ByVal State As Integer)
       '因为Execute方法执行后并不是马上返回结果的,所以必须在StateChanged事件中处理
Dim vtData As Variant '数据变量。
Dim strData As String: strData = ""
Dim bDone As Boolean: bDone = False
    If State = 12 Then
        vtData = objInet.GetChunk(1024, icString)
              DoEvents
              Do While Not bDone
                 strData = strData & vtData
                 DoEvents
                 vtData = objInet.GetChunk(1024, icString)
                 If Len(vtData) = 0 Then
                        bDone = True
                 End If
              Loop
    End If
    MsgBox(strData)
End Sub   

5.Use Proxy Server
objInet.Proxy = "proxy.io.com:3128"
objInet.AccessType = icNamedProxy

6.Use HTTP Get & Post
objInet.Execute "http://www.chinaasp.com/sqlbbs/wwwboard.asp", "GET", "id=1"
要用Post只需要把GET那几个字符换一下就可以了,取得返回值的方法同4

我想基本上的功能都可以满足了,有空再写属性和方法、事件介绍。我本来是打算写一个OCX控件来调用这个,简化它的使用的,这样调用起来就方便的多了,因为有些功能不可以直接在ASP里面使用,尤其是对于一些FTP命令和错误处理。(还有一个原因是我不知道怎么把这个msinet.ocx安装到别的机器上,但是我自己写一个程序调用它,再做安装盘,安装后就可以用了)