基本步驟:
1、用一個InternetOpen調(diào)用設置環(huán)境。
2、調(diào)用InternetConnect 函數(shù)與主機連接。
3、調(diào)用FtpGetFile 達到文件。
4、關閉第1、2步創(chuàng)建的句柄,用InternetCloseHandle 函數(shù)。
現(xiàn)在來仔細看看每一步:
1、通過調(diào)用InternetOpen 函數(shù)設置環(huán)境。下面是VB特定調(diào)用這一函數(shù)的聲明:
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
參數(shù)sAgent 用來指定調(diào)用WinINet 函數(shù)的應用程序或?qū)嶓w。為了達到目的,可以設置FTP控制。
參數(shù)lAccessType 指定我們是直接與某一主機相連還是使用代理服務器相連。如果傳遞值1,就直接與主機連接。如果傳遞3,就通過代理服務器。如果傳遞0,連接時就要基于
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings下的注冊表數(shù)值
ProxyEnable、ProxyServer和 ProxyOverride 。
我們可以使用參數(shù)sProxyName和 sProxyBypass,而不是注冊設置來提供代理服務器和不使用代理服務器的IP地址和名字。列出代理的基本格式是rotocol=protocol://proxy_name:access_port?。例如,要指定Proxy1 上的端口21為代理服務器,用Ftp=ftp://Proxy1:21?作為sProxyName。要饒過以ov? 開始的任何主機,sProxyBypass 字符串應為ov*? 。
最后,lFlags 用來顯示影響函數(shù)結(jié)果的不同選擇。在我們的例子中,我們傳遞0。
所以,不使用代理而打開一個Internet session 時,我們的調(diào)用是這樣的:
lngINet = InternetOpen(“FTP Control”, 1, vbNullString, vbNullString, 0)
如果函數(shù)調(diào)用失敗,lngINet 為0。不然,lngINet 就保存在下一步中將要傳遞給InternetConnect函數(shù)的句柄的值。
1、用一個InternetOpen調(diào)用設置環(huán)境。
2、調(diào)用InternetConnect 函數(shù)與主機連接。
3、調(diào)用FtpGetFile 達到文件。
4、關閉第1、2步創(chuàng)建的句柄,用InternetCloseHandle 函數(shù)。
現(xiàn)在來仔細看看每一步:
1、通過調(diào)用InternetOpen 函數(shù)設置環(huán)境。下面是VB特定調(diào)用這一函數(shù)的聲明:
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
參數(shù)sAgent 用來指定調(diào)用WinINet 函數(shù)的應用程序或?qū)嶓w。為了達到目的,可以設置FTP控制。
參數(shù)lAccessType 指定我們是直接與某一主機相連還是使用代理服務器相連。如果傳遞值1,就直接與主機連接。如果傳遞3,就通過代理服務器。如果傳遞0,連接時就要基于
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings下的注冊表數(shù)值
ProxyEnable、ProxyServer和 ProxyOverride 。
我們可以使用參數(shù)sProxyName和 sProxyBypass,而不是注冊設置來提供代理服務器和不使用代理服務器的IP地址和名字。列出代理的基本格式是rotocol=protocol://proxy_name:access_port?。例如,要指定Proxy1 上的端口21為代理服務器,用Ftp=ftp://Proxy1:21?作為sProxyName。要饒過以ov? 開始的任何主機,sProxyBypass 字符串應為ov*? 。
最后,lFlags 用來顯示影響函數(shù)結(jié)果的不同選擇。在我們的例子中,我們傳遞0。
所以,不使用代理而打開一個Internet session 時,我們的調(diào)用是這樣的:
lngINet = InternetOpen(“FTP Control”, 1, vbNullString, vbNullString, 0)
如果函數(shù)調(diào)用失敗,lngINet 為0。不然,lngINet 就保存在下一步中將要傳遞給InternetConnect函數(shù)的句柄的值。