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 伺服器的名稱, (s) 指定 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 失敗,則會傳回 Null。 若要擷取特定錯誤訊息,請呼叫 GetLastError。
備註
InternetOpen 是應用程式所呼叫的第一個 WinINet 函式。 它會告訴網際網路 DLL 初始化內部資料結構,並準備從應用程式未來呼叫。 當應用程式使用網際網路函式完成時,應該呼叫 InternetCloseHandle 來釋放控制碼和任何相關聯的資源。
應用程式可以對 InternetOpen進行任意數目的呼叫,但單一呼叫通常已足夠。 應用程式可能需要為每個 InternetOpen 實例定義不同的行為,例如針對每個實例設定的不同 Proxy 伺服器。
呼叫應用程式使用InternetOpen所傳回的HINTERNET控制碼完成之後,必須使用InternetCloseHandle函式來關閉它。
就像 WinINet API 的其他所有層面一樣,無法在 DllMain 或全域物件的建構函式和解構函式內安全地呼叫此函式。
注意
wininet.h 標頭會將 InternetOpen 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wininet.h |
程式庫 | Wininet.lib |
Dll | Wininet.dll |
另請參閱
意見反應
提交並檢視相關的意見反應