다음을 통해 공유


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 번호(예: 11.0.1.45)가 ASCII 점선 10진수 형식으로 포함될 수 있습니다.

[in] nServerPort

서버의 TCP/IP(Transmission Control Protocol/Internet Protocol) 포트입니다. 이러한 플래그는 사용되는 포트만 설정합니다. 서비스는 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(Secure Hypertext Transfer Protocol) 서버(포트 443)의 기본 포트를 사용합니다.
INTERNET_DEFAULT_SOCKS_PORT
SOCKS 방화벽 서버(포트 1080)의 기본 포트를 사용합니다.
INTERNET_INVALID_PORT_NUMBER
dwService지정된 서비스에 대한 기본 포트를 사용합니다.

[in] lpszUserName

로그온할 사용자의 이름을 지정하는 null종료 문자열에 대한 포인터입니다. 이 매개 변수가 NULL경우 함수는 적절한 기본값을 사용합니다. FTP 프로토콜의 경우 기본값은 "anonymous"입니다.

[in] lpszPassword

로그온하는 데 사용할 암호가 포함된 null종료된 문자열에 대한 포인터입니다. lpszPasswordlpszUsername 모두 NULL경우 함수는 기본 "익명" 암호를 사용합니다. 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 함수를 사용하여 닫아야 합니다.

참고 요청이 비동기 모드로 전송되고(InternetOp en의 dwFlags 매개 변수가 INTERNET_FLAG_ASYNC지정함) dwContext 매개 변수가 0(INTERNET_NO_CALLBACK)이면 연결 핸들에 InternetSetStatusCallback 설정된 콜백 함수가 호출되지 않습니다. 그러나 호출은 비동기 모드에서 계속 수행됩니다.

InternetConnect 사용 예제는 다음 항목에서 찾을 수 있습니다.

WinINet API의 다른 모든 측면과 마찬가지로 이 함수는 DllMain 내에서 또는 전역 개체의 생성자 및 소멸자 내에서 안전하게 호출할 수 없습니다.

참고 WinINet은 서버 구현을 지원하지 않습니다. 또한 서비스에서 사용하면 안 됩니다. 서버 구현 또는 서비스의 경우 WinHTTP(Microsoft Windows HTTP 서비스)사용합니다.
 

메모

wininet.h 헤더는 INTERNETConnect를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wininet.h
라이브러리 위니넷 lib
DLL Wininet.dll

참고 항목

인터넷 기능 사용하도록 설정하는

winINet Functions