InternetOpen

InternetOpen

InternetOpen,是初始化一個應用程序,以使用 WinINet 函數

概況


初始化一個應用程序,以使用 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))