共用方式為


InternetConnectA 函式 (wininet.h)

開啟指定網站的檔案傳輸通訊協定 (FTP) 或 HTTP 工作階段。

語法

HINTERNET InternetConnectA(
  [in] HINTERNET     hInternet,
  [in] LPCSTR        lpszServerName,
  [in] INTERNET_PORT nServerPort,
  [in] LPCSTR        lpszUserName,
  [in] LPCSTR        lpszPassword,
  [in] DWORD         dwService,
  [in] DWORD         dwFlags,
  [in] DWORD_PTR     dwContext
);

參數

[in] hInternet

處理先前呼叫 InternetOpen所傳回的 。

[in] lpszServerName

null終止字串的指標,指定因特網伺服器的主機名。 或者,字串可以包含月臺的IP編號,格式為ASCII虛線-十進位格式(例如11.0.1.45)。

[in] nServerPort

伺服器上的傳輸控制通訊協定/因特網通訊協定 (TCP/IP) 埠。 這些旗標只會設定使用的埠。 服務是由 dwService的值所設定。 此參數可以是下列其中一個值。

價值 意義
INTERNET_DEFAULT_FTP_PORT
使用 FTP 伺服器的預設埠 (埠 21)。
INTERNET_DEFAULT_GOPHER_PORT
使用 Gopher 伺服器的預設埠 (埠 70)。
Windows XP 和 Windows Server 2003 R2 和更早版本。
 
INTERNET_DEFAULT_HTTP_PORT
使用 HTTP 伺服器的預設埠(埠 80)。
INTERNET_DEFAULT_HTTPS_PORT
使用安全超文本傳輸通訊協定 (HTTPS) 伺服器的預設埠 (埠 443)。
INTERNET_DEFAULT_SOCKS_PORT
使用SOCKS防火牆伺服器的預設埠(埠 1080)。
INTERNET_INVALID_PORT_NUMBER
使用 dwService所指定服務的預設埠。

[in] lpszUserName

null終止字串的指標,指定要登入的用戶名稱。 如果此參數 NULL,則函式會使用適當的預設值。 針對 FTP 通訊協定,預設值為 「匿名」。

[in] lpszPassword

null 的指標終止字串,其中包含用來登入的密碼。 如果 lpszPasswordlpszUsernameNULL,則函式會使用預設的 “anonymous” 密碼。 在 FTP 的情況下,預設密碼是使用者的電子郵件名稱。 如果 lpszPassword 為 NULL,但 lpszUsername 不是 NULL,則函式會使用空白密碼。

[in] dwService

要存取的服務類型。 此參數可以是下列其中一個值。

價值 意義
INTERNET_SERVICE_FTP
FTP 服務。
INTERNET_SERVICE_GOPHER
Gopher 服務。
Windows XP 和 Windows Server 2003 R2 和更早版本。
 
INTERNET_SERVICE_HTTP
HTTP 服務。

[in] dwFlags

所使用服務的特定選項。 如果
dwService 是INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE 會導致應用程式使用被動 FTP 語意。

[in] dwContext

變數的指標,其中包含應用程式定義的值,用來識別回呼中傳回句柄的應用程式內容。

傳回值

如果連線成功,或 NULL,則傳回會話的有效句柄。 若要擷取擴充的錯誤資訊,請呼叫 GetLastError。 應用程式也可以使用 InternetGetLastResponseInfo 來判斷為何拒絕存取服務。

言論

下表描述 lpszUsernamelpszPassword四個可能設定的行為。

lpszUsername lpszPassword 傳送至 FTP 伺服器的用戶名稱 傳送至 FTP 伺服器的密碼
NULL NULL “anonymous” 用戶的電子郵件名稱
NULL 字串 NULL lpszUsername ""
NULL NULL 字串 錯誤 錯誤
NULL 字串 NULL 字串 lpszUsername lpszPassword
 

對於 FTP 網站,InternetConnect 實際上會建立與伺服器的連線;對於其他人,在應用程式要求特定交易之前,不會建立實際的連線。

為了達到最大效率,使用 HTTP 通訊協定的應用程式應該嘗試將 InternetConnect 的呼叫降到最低,並避免針對使用者要求的每個交易呼叫此函式。 若要達成此目的,其中一個方法是保留從 internetConnect 傳回的小型句柄快取;當使用者向先前存取的伺服器提出要求時,該會話句柄仍可供使用。

呼叫端應用程式使用 InternetConnect所傳回 HINTERNET 句柄之後,必須使用 InternetCloseHandle 函式關閉。

注意 傳送要求異步模式時(InternetOpen 指定 INTERNET_FLAG_ASYNCdwFlags 參數),而 dwContext 參數為零(INTERNET_NO_CALLBACK),則不會呼叫連線句柄上的 InternetSetStatusCallback 的回呼函式,不過,呼叫仍會以異步模式執行。

您可以在下列主題中找到 InternetConnect 用法的範例。

如同 WinINet API 的其他所有層面,無法從 DllMain 或全域物件的建構函式和解構函式安全地呼叫此函式。

注意 WinINet 不支援伺服器實作。 此外,不應該從服務使用。 針對伺服器實作或服務,請使用 Microsoft Windows HTTP 服務 (WinHTTP)
 

注意

wininet.h 標頭會將 InternetConnect 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 wininet.h
連結庫 Wininet.lib
DLL Wininet.dll

另請參閱

啟用因特網功能

WinINet 函式