InternetOpenA 函式 (wininet.h)
初始化應用程式對 WinINet 函式的使用。
語法
HINTERNET InternetOpenA(
[in] LPCSTR lpszAgent,
[in] DWORD dwAccessType,
[in] LPCSTR lpszProxy,
[in] LPCSTR lpszProxyBypass,
[in] DWORD dwFlags
);
參數
[in] lpszAgent
null終止字串的指標,指定呼叫 WinINet 函式之應用程式或實體的名稱。 此名稱會當做 HTTP 通訊協定中的使用者代理程式使用。
[in] dwAccessType
所需的存取類型。 此參數可以是下列其中一個值。
價值 | 意義 |
---|---|
|
在本機解析所有主機名。 |
|
從登錄擷取 Proxy 或直接設定。 |
|
從登錄擷取 Proxy 或直接設定,並防止使用啟動Microsoft JScript 或因特網安裝 (INS) 檔案。 |
|
除非提供 Proxy 略過清單,而且要解析的名稱會略過 Proxy,否則會將要求傳遞至 Proxy。 在這裡情況下,函式會使用 INTERNET_OPEN_TYPE_DIRECT。 |
[in] lpszProxy
null終止字串的指標,指定指定 proxy 存取時所要使用的 Proxy 伺服器名稱,方法是 將 dwAccessType 設定為 INTERNET_OPEN_TYPE_PROXY。 請勿使用空字串,因為 InternetOpen 會使用它作為 Proxy 名稱。 WinINet 函式只會辨識 CERN 類型 Proxy(僅限 HTTP)和 TIS FTP 網關(僅限 FTP)。 如果已安裝 Microsoft Internet Explorer,這些函式也支援 SOCKS Proxy。 FTP 要求可以透過 CERN 類型 Proxy 進行,方法是將要求變更為 HTTP 要求,或使用 InternetOpenUrl。 如果 dwAccessType 未設定為 INTERNET_OPEN_TYPE_PROXY,則會忽略此參數,而且應該 NULL。 如需列出 Proxy 伺服器的詳細資訊,請參閱 啟用因特網功能的 列出 Proxy 伺服器 一節。
[in] lpszProxyBypass
null終止字串的指標,指定選擇性的主機名或 IP 位址清單,或兩者,當 dwAccessType 設定為 INTERNET_OPEN_TYPE_PROXY時,不應該透過 Proxy 路由傳送。 清單可以包含通配符。 請勿使用空字串,因為 InternetOpen 會使用它作為 Proxy 略過清單。 如果此參數指定 「<local>」 巨集,函式會略過不包含句點之任何主機名的 Proxy。
根據預設,WinINet 會針對使用主機名 “localhost”、“loopback”、“127.0.0.1” 或 “[::1]” 的要求略過 Proxy。 此行為存在,因為遠端 Proxy 伺服器通常不會正確解析這些位址。Internet Explorer 9:您可以使用 “<-loopback>” 巨集,從 Proxy 略過清單中移除本機計算機。
如果 dwAccessType 未設定為 INTERNET_OPEN_TYPE_PROXY,則會忽略此參數,而且應該 NULL。
[in] dwFlags
選項。 此參數可以是下列值的組合。
價值 | 意義 |
---|---|
|
只對從此函式傳回之句柄遞減的句柄提出異步要求。 |
|
不會提出網路要求。 所有實體都會從快取傳回。 如果要求的專案不在快取中,則會傳回適當的錯誤,例如ERROR_FILE_NOT_FOUND。 |
|
與 INTERNET_FLAG_FROM_CACHE相同。 不會提出網路要求。 所有實體都會從快取傳回。 如果要求的專案不在快取中,則會傳回適當的錯誤,例如ERROR_FILE_NOT_FOUND。 |
傳回值
傳回應用程式傳遞至後續 WinINet 函式的有效句柄。 如果 internetOpen
言論
InternetOpen 是應用程式所呼叫的第一個 WinINet 函式。 它會告訴因特網 DLL 初始化內部數據結構,併為應用程式未來的呼叫做好準備。 當應用程式使用因特網函式完成時,應該呼叫 InternetCloseHandle,以釋放句柄和任何相關聯的資源。
雖然單一呼叫通常已足夠,但應用程式可以對 internetOpen進行任意數目的呼叫。 應用程式可能需要為每個 InternetOpen 實例定義不同的行為,例如為每個實例設定的不同 Proxy 伺服器。
呼叫端應用程式使用 InternetOpen所傳回的 HINTERNET 句柄之後,必須使用 InternetCloseHandle 函式關閉。
如同 WinINet API 的其他所有層面,無法從 DllMain 或全域物件的建構函式和解構函式安全地呼叫此函式。
注意
wininet.h 標頭會將 InternetOpen 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | wininet.h |
連結庫 | Wininet.lib |
DLL | Wininet.dll |