概況
初始化一個應用程式,以使用 WinINet 函式。VB中的套用
函式聲明
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
參數說明
sAgent指定調用 WinINet 函式的應用程式或入口。該入口用作HTTP協定中用戶代理項。
lAccessType
訪問要求類型,該參數可為下列值之一:
INTERNET_OPEN_TYPE_DIRECT 解析所有本地主機;
INTERNET_OPEN_TYPE_PRECONFIG 返回註冊表中代理或直接的配置;
INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY 返回註冊表中代理或直接的配置,並防止對Microsoft Jscript 或 INS檔案的使用;
INTERNET_OPEN_TYPE_PROXY 為代理傳遞請求,除非代理提供了旁路列表且解析的名字可以繞過代理;此時,函式使用INTERNET_OPEN_TYPE_DIRECT。
sProxyName
指定了當lAccessType類型為INTERNET_OPEN_TYPE_PROXY時,代理伺服器的名字。
不要使用一個空的字元串,因為,該函式將使用它作為代理的名字。WinINet函式僅能識別OERN類型的代理和TIS網關。如果有安裝IE,這些函式也同樣支持SOCKS代理。FTP請求可由CERN類型代理或轉換為HTTP請求,或使用InternetOpenUrl函式實現。
如果lAccessType類型未被設定為INTERNET_OPEN_TYPE_PROXY,該參數將被忽略且為NULL。
sProxyBypass
指向一個字元串,它指定一個可選的主機名列表或IP位址,列表可包括未知元素。
lFlags
該參數可為下列值的任意組合:
INTERNET_FLAG_ASYNC 僅能用於作用在該函式返回的句柄的子句柄上的異步請求。
INTERNET_FLAG_FROM_CACHE 不做網路請求。所有的實體都由快取返回。如果請求條目不在快取中,一個適當的錯誤將返回。
INTERNET_FLAG_OFFLINE 與 INTERNET_FLAG_FROM_CACHE 一樣。
C++中的套用
函式聲明
HINTERNET InternetOpen(_In_ LPCTSTR lpszAgent,
_In_ DWORD dwAccessType,
_In_ LPCTSTR lpszProxyName,
_In_ LPCTSTR lpszProxyBypass,
_In_ DWORD dwFlags
);
lpszAgent
指向一個空結束的字元串,該字元串指定的應用程式或實體調用WinInet函式的名稱。使用此名稱作為用戶代理的HTTP協定。
dwAccessType
指定訪問類型,參數可以是下列值之一:
INTERNET_OPEN_TYPE_DIRECT
使用直接連線網路。
INTERNET_OPEN_TYPE_PRECONFIG
獲取代理或直接從註冊表中的配置,使用代理連線網路。
INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY
獲取代理或直接從註冊表中的配置,並防止啟動Microsoft JScript或Internet設定(INS)檔案的使用。
INTERNET_OPEN_TYPE_PROXY
通過代理的請求,除非代理旁路列表中提供的名稱解析繞過代理,在這種情況下,該功能的使用。
lpszProxyName
指針指向一個空結束的字元串,該字元串指定的代理伺服器的名稱,參數省略則為NULL。
lpszProxyBypass
指向一個空結束的字元串,該字元串指定的可選列表的主機名或IP位址。如果dwAccessType未設定為INTERNET_OPEN_TYPE_PROXY的 ,參數省略則為NULL。
dwFlags
參數可以是下列值之一:
INTERNET_FLAG_ASYNC
使異步請求處理的後裔從這個函式返回的句柄。
INTERNET_FLAG_FROM_CACHE
不進行網路請求,從快取返回的所有實體,如果請求的項目是不是在快取中,一個合適的錯誤,如ERROR_FILE_NOT_FOUND,則返回。
INTERNET_FLAG_OFFLINE
不進行網路請求,從快取返回的所有實體,如果請求的項目是不是在快取中,一個合適的錯誤,如ERROR_FILE_NOT_FOUND,被返回。
返回值
成功:返回一個有效的句柄,該句柄將由應用程式傳遞給接下來的WinINet函式。失敗:返回NULL。
備註
該函式是第一個由應用程式調用的 WinINet 函式。它告訴 Internet DLL 初始化內部數據結構並準備接收應用程式之後的其他調用。當應用程式結束使用 Internet 函式時,應調用 InternetCloseHandle 函式來釋放與之相關的資源。應用程式可以對該函式進行任意次數的調用,不過在一般情況下一次調用就已經足夠了。如果要調用多次該函式,應用程式則有必要定義獨立的函式實例的行為,諸如不同的代理伺服器等。
使用要求
最低個人系統 Windows 2000 Professional最低伺服器 Windows 2000 Server
最低IE版本 Internet Explorer 3.0
DLL檔案 wininet.dll
(Unicode and ANSI names:InternetOpenW (Unicode) and InternetOpenA (ANSI))