Share via


CInternetSession 클래스

한 개 또는 여러 개의 동시 인터넷 세션을 만들어 초기화하며, 필요한 경우 프록시 서버에 대한 연결을 설명합니다.

구문

class CInternetSession : public CObject

멤버

공용 생성자

속성 설명
CInternetSession::CInternetSession CInternetSession 개체를 생성합니다.

공용 메서드

이름 설명
CInternetSession::Close 인터넷 세션이 종료되면 인터넷 연결을 닫습니다.
CInternetSession::EnableStatusCallback 상태 콜백 루틴을 설정합니다.
CInternetSession::GetContext 인터넷 세션이 종료되면 인터넷 연결을 닫습니다.
CInternetSession::GetCookie 지정된 URL 및 모든 부모 URL에 대한 쿠키를 반환합니다.
CInternetSession::GetCookieLength 버퍼에 저장된 쿠키의 길이를 지정하는 변수를 검색합니다.
CInternetSession::GetFtpConnection 서버와 함께 FTP 세션을 엽니다. 사용자를 로그온합니다.
CInternetSession::GetGopherConnection 연결을 열려는 애플리케이션에 대한 gopher 서버를 엽니다.
CInternetSession::GetHttpConnection 연결을 열려는 애플리케이션에 대한 HTTP 서버를 엽니다.
CInternetSession::OnStatusCallback 상태 콜백을 사용할 때 작업 상태를 업데이트합니다.
CInternetSession::OpenURL URL을 구문 분석하고 엽니다.
CInternetSession::SetCookie 지정된 URL에 대한 쿠키를 설정합니다.
CInternetSession::SetOption 인터넷 세션에 대한 옵션을 설정합니다.

Public 연산자

속성 설명
CInternetSession::operator HINTERNET 현재 인터넷 세션에 대한 핸들입니다.

설명

애플리케이션 기간 동안 인터넷 연결을 유지해야 하는 경우 CWinApp 클래스의 CInternetSession 멤버를 만들 수 있습니다.

인터넷 세션을 설정한 후에는 OpenURL을(를) 호출할 수 있습니다. 그런 다음 CInternetSession이(가) 전역 함수 AfxParseURL을(를) 호출하여 URL을 구문 분석합니다. 프로토콜 형식에 관계없이 CInternetSession이(가) URL을 해석하고 자동으로 관리합니다. URL 리소스 "file://"로 식별된 로컬 파일에 대한 요청을 처리할 수 있습니다. OpenURL은(는) 전달한 이름이 로컬 파일인 경우 CStdioFile 개체에 대한 포인터를 반환합니다.

OpenURL을(를) 사용하여 인터넷 서버에서 URL을 여는 경우 사이트에서 정보를 읽을 수 있습니다. 서버에 있는 파일에 대해 서비스별(예: HTTP, FTP, gopher) 작업을 수행하려면 해당 서버와 적절한 연결을 설정해야 합니다. 특정 서비스에 대한 특정 종류의 연결을 직접 열려면 다음 멤버 함수 중 하나를 사용합니다.

SetOption을(를) 사용하면 시간 제한 값, 재시도 횟수 등 세션의 쿼리 옵션을 설정할 수 있습니다.

CInternetSession 멤버 함수 SetCookie, GetCookie, GetCookieLength은(는) 서버와 스크립트가 클라이언트 워크스테이션에 관한 상태 정보를 유지하는 데 사용하는 Win32 쿠키 데이터베이스를 관리하는 수단을 제공합니다.

기본 인터넷 프로그래밍 작업에 관한 자세한 내용은 인터넷 첫 번째 단계: WinInet 문서를 참조하세요. MFC WinInet 클래스 사용에 관한 일반적인 내용은 WinInet과(와) 함께하는 인터넷 프로그래밍 문서를 참조하세요.

참고 항목

CInternetSession은(는) 지원되지 않는 서비스 유형에 대해 AfxThrowNotSupportedException을(를) throw합니다. 현재 FTP, HTTP, gopher 및 파일과 같은 서비스 유형만 지원됩니다.

상속 계층 구조

CObject
CInternetSession

요구 사항

헤더:afxinet.h

CInternetSession::CInternetSession

이 메서드 함수는 CInternetSession 개체가 만들어질 때 호출됩니다.

CInternetSession(
    LPCTSTR pstrAgent = NULL,
    DWORD_PTR dwContext = 1,
    DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS,
    LPCTSTR pstrProxyName = NULL,
    LPCTSTR pstrProxyBypass = NULL,
    DWORD dwFlags = 0);

매개 변수

pstrAgent
인터넷 함수를 호출하는 엔터티 또는 애플리케이션의 이름을 식별하는 문자열에 대한 포인터입니다(예: "Microsoft Internet Browser"). pstrAgent이(가) NULL(기본값)이면 프레임워크는 전역 함수 AfxGetAppName을(를) 호출합니다. 이 함수는 애플리케이션 이름이 포함된, null로 끝나는 문자열을 반환합니다. 일부 프로토콜은 이 문자열을 사용하여 서버에 대한 애플리케이션을 식별합니다.

dwContext
작업에 대한 컨텍스트 식별자입니다. dwContext은(는) CInternetSession::OnStatusCallback에서 반환된 작업 상태 정보를 식별합니다. 기본값은 1로 설정되지만, 작업에 대한 특정 컨텍스트 ID를 명시적으로 할당할 수도 있습니다. 개체와 개체가 수행하는 모든 작업은 해당 컨텍스트 ID와 연결됩니다.

dwAccessType
필요한 액세스 유형입니다. 다음은 유효한 값이며, 이 중 정확히 하나가 제공될 수 있습니다.

  • INTERNET_OPEN_TYPE_PRECONFIG 레지스트리에서 미리 구성된 설정을 사용하여 연결합니다. 이 액세스 유형은 기본값으로 설정됩니다. TIS 프록시를 통해 연결하려면 dwAccessType을(를) 이 값으로 설정한 다음, 레지스트리를 적절하게 설정합니다.

  • INTERNET_OPEN_TYPE_DIRECT 인터넷에 직접 연결합니다.

  • INTERNET_OPEN_TYPE_PROXY CERN 프록시를 통해 연결합니다.

다양한 유형의 프록시를 사용하여 연결하는 방법은 일반적인 FTP 클라이언트 애플리케이션의 단계를 참조하세요.

pstrProxyName
dwAccessType이(가) INTERNET_OPEN_TYPE_PROXY(으)로 설정된 경우 기본 설정 CERN 프록시의 이름입니다. 기본값은 NULL입니다.

pstrProxyBypass
선택적 서버 주소 목록을 포함하는 문자열에 대한 포인터입니다. 프록시 액세스를 사용할 때 이러한 주소는 무시될 수 있습니다. NULL 값이 제공되면 레지스트리에서 바이패스 목록을 읽습니다. 이 매개 변수는 dwAccessType이(가) INTERNET_OPEN_TYPE_PROXY(으)로 설정된 경우에만 의미가 있습니다.

dwFlags
다양한 캐싱 옵션을 나타냅니다. 기본값은 0으로 설정됩니다. 가능한 값은 다음과 같습니다.

  • INTERNET_FLAG_DONT_CACHE 로컬 서버에서도 게이트웨이 서버에서도 데이터를 캐시하지 않습니다.

  • INTERNET_FLAG_OFFLINE 다운로드 작업이 영구 캐시를 통해서만 충족됩니다. 항목이 캐시에 없으면 해당 오류 코드가 반환됩니다. 이 플래그는 비트 "or"(|) 연산자와 결합할 수 있습니다.

설명

CInternetSession은(는) 애플리케이션에서 호출하는 첫 번째 인터넷 함수입니다. 내부 데이터 구조를 초기화하고 애플리케이션의 향후 호출을 준비합니다.

인터넷 연결을 열 수 없는 경우 CInternetSession이(가) AfxThrowInternetException을(를) throw합니다.

예시

CFtpFileFind에 대한 예를 참조하세요.

CInternetSession::Close

애플리케이션이 CInternetSession 개체 사용을 마쳤을 때 이 멤버 함수를 호출하세요.

virtual void Close();

예시

CFtpFileFind에 대한 예를 참조하세요.

CInternetSession::EnableStatusCallback

상태 콜백을 사용하려면 이 멤버 함수를 호출합니다.

BOOL EnableStatusCallback(BOOL bEnable = TRUE);

매개 변수

bEnable
콜백 사용 설정 여부를 지정합니다. 기본값은 TRUE입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다. 호출이 실패하면 throw된 CInternetException 개체를 검사하여 실패의 원인을 확인합니다.

설명

상태 콜백을 처리할 때 애플리케이션의 상태 표시줄에서 작업 진행률(예: 이름 확인, 서버에 연결 등)에 관한 상태를 제공할 수 있습니다. 특히 장기 작업 중에는 작업 상태를 표시하는 것이 좋습니다.

콜백은 요청 처리 중에 발생하므로 애플리케이션은 콜백에 최대한 적은 시간을 소비하여 네트워크에 대한 데이터 처리량이 저하되지 않도록 해야 합니다. 예를 들어 콜백에 대화 상자를 표시하는 작업은 시간이 너무 많이 걸려 서버가 요청을 종료할 수도 있습니다.

콜백이 보류 중인 경우에는 상태 콜백을 제거할 수 없습니다.

작업을 비동기적으로 처리하려면 사용자의 고유 스레드를 만들거나 MFC 없이 WinInet 함수를 사용해야 합니다.

CInternetSession::GetContext

이 멤버 함수를 호출하여 특정 애플리케이션 세션에 대한 컨텍스트 값을 가져옵니다.

DWORD_PTR GetContext() const;

Return Value

애플리케이션 정의 컨텍스트 식별자입니다.

설명

OnStatusCallback은(는) GetContext에서 반환한 컨텍스트 ID를 사용하여 특정 애플리케이션의 상태를 보고합니다. 예를 들어 사용자가 상태 정보 반환과 관련된 인터넷 요청을 활성화하면 상태 콜백은 컨텍스트 ID를 사용하여 그 특정 요청에 대한 상태를 보고합니다. 사용자가 상태 정보 반환과 관련된 두 개의 별도 인터넷 요청을 활성화하면 OnStatusCallback은(는) 컨텍스트 식별자를 사용하여 상응하는 각각의 요청에 대한 상태를 반환합니다. 따라서 컨텍스트 식별자가 모든 상태 콜백 작업에서 사용되며 세션이 종료될 때까지 세션과 관련됩니다.

비동기 작업에 관한 자세한 내용은 인터넷 첫 번째 단계: WinInet 문서를 참조하세요.

CInternetSession::GetCookie

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 함수 InternetGetCookie의 동작을 구현합니다.

static BOOL GetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    LPTSTR pstrCookieData,
    DWORD dwBufLen);

static BOOL GetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    CString& strCookieData);

매개 변수

pstrUrl
URL을 포함하는 문자열에 대한 포인터입니다.

pstrCookieName
지정된 URL에 대해 가져올 쿠키 이름을 포함하는 문자열에 대한 포인터입니다.

pstrCookieData
첫 번째 오버로드에서 쿠키 데이터를 수신하는 버퍼의 주소를 포함하는 문자열에 대한 포인터입니다. 이 값은 NULL일 수 있습니다. 두 번째 오버로드에서 쿠키 데이터를 수신하는 CString 개체에 대한 참조입니다.

dwBufLen
pstrCookieData 버퍼의 크기를 지정하는 변수입니다. 함수가 성공하면 버퍼는 pstrCookieData 버퍼에 복사된 데이터의 양을 수신합니다. pstrCookieData이(가) NULL이면 이 매개 변수는 모든 쿠키 데이터를 복사하는 데 필요한 버퍼의 크기를 지정하는 값을 수신합니다.

Return Value

성공하면 TRUE을(를) 반환하고, 그렇지 않으면 FALSE을(를) 반환합니다. 호출이 실패하면 Win32 함수 GetLastError을(를) 호출하여 오류의 원인을 확인합니다. 다음 오류 값이 적용됩니다.

  • ERROR_NO_MORE_ITEMS 지정된 URL 및 모든 부모에 대한 쿠키가 없습니다.

  • ERROR_INSUFFICIENT_BUFFERdwBufLen에 전달된 값이 모든 쿠키 데이터를 복사하기에 충분하지 않습니다. dwBufLen에 반환되는 값은 모든 데이터를 가져오는 데 필요한 버퍼의 크기입니다.

설명

두 번째 오버로드에서 MFC는 제공된 CString 개체로 쿠키 데이터를 검색합니다.

CInternetSession::GetCookieLength

이 멤버 함수를 호출하여 버퍼에 저장된 쿠키의 길이를 가져옵니다.

static DWORD GetCookieLength(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName);

매개 변수

pstrUrl
URL을 포함하는 문자열에 대한 포인터

pstrCookieName
쿠키의 이름을 포함하는 문자열에 대한 포인터입니다.

Return Value

쿠키의 길이를 나타내는 버퍼에 저장된 DWORD 값입니다. pstrCookieName에서 표시하는 이름의 쿠키가 없으면 0입니다.

설명

이 값은 GetCookie에서 사용합니다.

CInternetSession::GetFtpConnection

이 멤버 함수를 호출하여 FTP 연결을 설정하고 CFtpConnection 개체에 대한 포인터를 가져옵니다.

CFtpConnection* GetFtpConnection(
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    BOOL bPassive = FALSE);

매개 변수

pstrServer
FTP 서버 이름을 포함하는 문자열에 대한 포인터입니다.

pstrUserName
로그인할 사용자의 이름을 지정하는, null로 끝나는 문자열에 대한 포인터입니다. NULL인 경우 기본값은 익명입니다.

pstrPassword
로그인하는 데 사용할 암호를 지정하는, null로 끝나는 문자열에 대한 포인터입니다. pstrPassword과(와) pstrUserName 둘 다 NULL인 경우 기본 익명 암호는 사용자의 이메일 이름입니다. pstrPassword이(가) NULL(또는 빈 문자열)이지만 pstrUserName이(가) NULL이(가) 아니면 빈 암호가 사용됩니다. 다음 표에서는 pstrUserName과(와) pstrPassword에 할 수 있는 네 가지 설정에 대한 동작을 설명합니다.

pstrUserName pstrPassword 사용자 이름을 FTP 서버로 전송 암호를 FTP 서버로 전송
NULL 또는 " " NULL 또는 " " "anonymous" 사용자의 이메일 이름
NULL이 아닌 문자열 NULL 또는 " " pstrUserName " "
NULL NULL이 아닌 문자열 오류 오류
NULL이 아닌 문자열 NULL이 아닌 문자열 pstrUserName pstrPassword

nPort
서버에서 사용할 TCP/IP 포트를 식별하는 숫자입니다.

bPassive
이 FTP 세션에 대한 수동 또는 활성 모드를 지정합니다. TRUE(으)로 설정되면 Win32 API dwFlag을(를) INTERNET_FLAG_PASSIVE(으)로 설정합니다.

Return Value

CFtpConnection 개체에 대한 포인터입니다. 호출이 실패하면 throw된 CInternetException 개체를 검사하여 실패의 원인을 확인합니다.

설명

GetFtpConnection은(는) FTP 서버에 연결되고 CFTPConnection 개체에 대한 포인터를 만들어 반환합니다. 서버에서 특정 작업을 수행하지 않습니다. 예를 들어 파일을 읽거나 쓰려는 경우 이러한 작업을 별도의 단계로 수행해야 합니다. 파일 검색, 파일 열기, 파일 읽기 또는 쓰기에 관한 자세한 내용은 CFtpConnectionCFtpFileFind 클래스를 참조하세요. 일반적인 FTP 연결 작업을 수행하는 단계는 WinInet으로 인터넷 프로그래밍 문서를 참조하세요.

예시

CFtpFileFind에 대한 예를 참조하세요.

CInternetSession::GetGopherConnection

이 멤버 함수를 호출하여 gopher 연결을 설정하고 CGopherConnection 개체에 대한 포인터를 가져옵니다.

CGopherConnection* GetGopherConnection(
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);

매개 변수

pstrServer
gopher 서버 이름을 포함하는 문자열에 대한 포인터입니다.

pstrUserName
사용자 이름을 포함하는 문자열에 대한 포인터입니다.

pstrPassword
액세스 암호를 포함하는 문자열에 대한 포인터입니다.

nPort
서버에서 사용할 TCP/IP 포트를 식별하는 숫자입니다.

Return Value

CGopherConnection 개체에 대한 포인터입니다. 호출이 실패하면 throw된 CInternetException 개체를 검사하여 실패의 원인을 확인합니다.

설명

GetGopherConnection은(는) gopher 서버에 연결되고 CGopherConnection 개체에 대한 포인터를 만들어 반환합니다. 서버에서 특정 작업을 수행하지 않습니다. 예를 들어 데이터를 읽거나 쓰려는 경우 이러한 작업을 별도의 단계로 수행해야 합니다. 파일 검색, 파일 열기, 파일 읽기 또는 쓰기에 관한 자세한 내용은 CGopherConnection, CGopherFileCGopherFileFind 클래스를 참조하세요. FTP 사이트를 검색하는 방법에 관한 자세한 내용은 OpenURL 멤버 함수를 참조하세요. 일반적인 gopher 연결 작업을 수행하는 단계는 WinInet으로 인터넷 프로그래밍 문서를 참조하세요.

CInternetSession::GetHttpConnection

이 멤버 함수를 호출하여 HTTP 연결을 설정하고 CHttpConnection 개체에 대한 포인터를 가져옵니다.

CHttpConnection* GetHttpConnection(
    LPCTSTR pstrServer,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL);

CHttpConnection* GetHttpConnection(
    LPCTSTR pstrServer,
    DWORD dwFlags,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL);

매개 변수

pstrServer
HTTP 서버 이름을 포함하는 문자열에 대한 포인터입니다.

nPort
서버에서 사용할 TCP/IP 포트를 식별하는 숫자입니다.

pstrUserName
사용자 이름을 포함하는 문자열에 대한 포인터입니다.

pstrPassword
액세스 암호를 포함하는 문자열에 대한 포인터입니다.

dwflags
INTERNET_FLAG_* 플래그의 조합입니다. dwFlags 값에 대한 설명은 CHttpConnection::OpenRequest설명 섹션에 있는 표를 참조하세요.

Return Value

CHttpConnection 개체에 대한 포인터입니다. 호출이 실패하면 throw된 CInternetException 개체를 검사하여 실패의 원인을 확인합니다.

설명

GetHttpConnection은(는) HTTP 서버에 연결되고 CHttpConnection 개체에 대한 포인터를 만들어 반환합니다. 서버에서 특정 작업을 수행하지 않습니다. 예를 들어 HTTP 헤더를 쿼리하려는 경우 이 작업을 별도의 단계로 수행해야 합니다. HTTP 서버에 대한 연결을 사용하여 수행할 수 있는 작업에 관한 자세한 내용은 CHttpConnectionCHttpFile 클래스를 참조하세요. HTTP 사이트를 검색하는 방법에 관한 자세한 내용은 OpenURL 멤버 함수를 참조하세요. 일반적인 HTTP 연결 작업을 수행하는 단계는 WinInet으로 인터넷 프로그래밍 문서를 참조하세요.

CInternetSession::OnStatusCallback

이 멤버 함수는 상태 콜백이 활성화 상태이고 작업이 보류 중일 때 상태 업데이트를 위해 프레임워크에서 호출됩니다.

virtual void OnStatusCallback(
    DWORD_PTR dwContext,
    DWORD dwInternetStatus,
    LPVOID lpvStatusInformation,
    DWORD dwStatusInformationLength);

매개 변수

dwContext
애플리케이션에서 제공하는 컨텍스트 값입니다.

dwInternetStatus
콜백이 만들어지는 이유를 나타내는 상태 코드입니다. 가능한 값의 테이블은 설명을 참조하세요.

lpvStatusInformation
이 콜백과 관련된 정보를 포함하는 버퍼에 대한 포인터입니다.

dwStatusInformationLength
lpvStatusInformation의 크기입니다.

설명

상태 콜백을 활용하려면 먼저 EnableStatusCallback을(를) 호출해야 합니다.

dwInternetStatus 매개 변수는 수행 중인 작업을 나타내고 lpvStatusInformation의 콘텐츠를 결정합니다. dwStatusInformationLength은(는) lpvStatusInformation에 포함된 데이터의 길이를 나타냅니다. dwInternetStatus에 대한 다음 상태 값은 다음과 같이 정의됩니다.

의미
INTERNET_STATUS_RESOLVING_NAME lpvStatusInformation에 포함된 이름의 IP 주소를 조회하는 중.
INTERNET_STATUS_NAME_RESOLVED lpvStatusInformation에 포함된 이름의 IP 주소를 찾았음.
INTERNET_STATUS_CONNECTING_TO_SERVER lpvStatusInformation에서 가리키는 소켓 주소( SOCKADDR)에 연결하는 중.
INTERNET_STATUS_CONNECTED_TO_SERVER lpvStatusInformation에서 가리키는 소켓 주소( SOCKADDR)에 연결됨.
INTERNET_STATUS_SENDING_REQUEST 서버에 정보 요청을 보내는 중. lpvStatusInformation 매개 변수가 NULL인 경우
INTERNET_STATUS_REQUEST_SENT 서버에 정보 요청을 성공적으로 보냈음. lpvStatusInformation 매개 변수가 NULL인 경우
INTERNET_STATUS_RECEIVING_RESPONSE 서버가 요청에 응답하기를 기다리는 중. lpvStatusInformation 매개 변수가 NULL인 경우
INTERNET_STATUS_RESPONSE_RECEIVED 서버에서 응답을 받았음. lpvStatusInformation 매개 변수가 NULL인 경우
INTERNET_STATUS_CLOSING_CONNECTION 서버에 대한 연결을 닫는 중. lpvStatusInformation 매개 변수가 NULL인 경우
INTERNET_STATUS_CONNECTION_CLOSED 서버에 대한 연결을 닫았음. lpvStatusInformation 매개 변수가 NULL인 경우
INTERNET_STATUS_HANDLE_CREATED 새 핸들을 만들었음을 나타내는 데 Win32 API 함수 InternetConnect이(가) 사용됨. 이렇게 하면 연결 시간이 너무 오래 걸리는 경우에 애플리케이션이 다른 스레드에서 InternetCloseHandle Win32 함수를 호출할 수 있습니다. 이러한 함수에 대한 자세한 내용은 Windows SDKfor를 참조하세요.
INTERNET_STATUS_HANDLE_CLOSING 이 핸들 값을 종료함.

상태 콜백 루틴이 수행되기 전에 일부 작업이 필요하도록 이 멤버 함수를 재정의합니다.

참고 항목

상태 콜백에 스레드 상태 보호가 필요합니다. 공유 라이브러리에서 MFC를 사용하는 경우 재정의 시작 부분에 다음 줄을 추가합니다.

AFX_MANAGE_STATE(AfxGetAppModuleState());

비동기 작업에 관한 자세한 내용은 인터넷 첫 번째 단계: WinInet 문서를 참조하세요.

CInternetSession::OpenURL

이 멤버 함수를 호출하여 지정된 요청을 HTTP 서버로 보내고 클라이언트가 이 요청과 함께 보낼 추가 RFC822, MIME 또는 HTTP 헤더를 지정할 수 있도록 합니다.

CStdioFile* OpenURL(
    LPCTSTR pstrURL,
    DWORD_PTR dwContext = 1,
    DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII,
    LPCTSTR pstrHeaders = NULL,
    DWORD dwHeadersLength = 0);

매개 변수

pstrURL
읽기를 시작할 URL 이름에 대한 포인터입니다. file:, ftp:, gopher: 또는 http:(으)로 시작하는 URL만 지원됩니다. pstrURL이(가) NULL인지 확인합니다.

dwContext
콜백에서 반환된 핸들과 함께 전달되는 애플리케이션 정의 값입니다.

dwFlags
이 연결을 처리하는 방법을 설명하는 플래그입니다. 유효한 플래그에 관한 자세한 내용은 설명을 참조하세요. 유효한 플래그는 다음과 같습니다.

  • INTERNET_FLAG_TRANSFER_ASCII 기본값. 파일을 ASCII 텍스트로 전송합니다.

  • INTERNET_FLAG_TRANSFER_BINARY 파일을 이진 파일로 전송합니다.

  • INTERNET_FLAG_RELOAD 로컬로 캐시된 경우에도 유선에서 데이터를 가져옵니다.

  • INTERNET_FLAG_DONT_CACHE 로컬에서도 게이트웨이에서도 데이터를 캐시하지 않습니다.

  • INTERNET_FLAG_SECURE 이 플래그는 HTTP 요청에만 적용됩니다. SSL(Secure Sockets Layer) 또는 PCT를 사용하여 유선에서 보안 트랜잭션을 요청합니다.

  • INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT 가능하면 OpenUrl이(가) 생성하는 새 요청에 대해 각 연결 요청에 대한 새 세션을 만드는 대신 서버에 대한 기존 연결을 다시 사용합니다.

  • INTERNET_FLAG_PASSIVE FTP 사이트에 사용됩니다. 수동 FTP 의미 체계를 사용합니다. OpenURLCInternetConnection과(와 )함께 사용됩니다.

pstrHeaders
HTTP 서버로 보낼 헤더를 포함하는 문자열에 대한 포인터입니다.

dwHeadersLength
추가 헤더의 길이(문자)입니다. 이것이 -1L이고 pstrHeaders이(가) 비NULL인 경우 pstrHeaders은(는) 0으로 끝나는 것으로 가정되어 길이가 계산됩니다.

Return Value

FTP, GOPHER, HTTP 및 FILE 형식의 인터넷 서비스에 대해서만 파일 핸들을 반환합니다. 구문 분석이 실패하면 NULL을(를) 반환합니다.

OpenURL이(가) 반환하는 포인터는 pstrURL의 서비스 유형에 따라 달라집니다. 아래 표에서는 OpenURL이(가) 반환할 수 있는 가능한 포인터를 보여 줍니다.

URL 형식 반품
file:// CStdioFile*
http:// CHttpFile*
gopher:// CGopherFile*
ftp:// CInternetFile*

설명

매개 변수 dwFlags에는 INTERNET_FLAG_TRANSFER_ASCII 또는 INTERNET_FLAG_TRANSFER_BINARY이(가) 포함되어야 하지만 둘 다를 포함할 수는 없습니다. 나머지 플래그는 비트 "or"(|) 연산자와 결합할 수 있습니다.

Win32 함수InternetOpenURL을(를) 래핑하는 OpenURL은(는) 인터넷 서버에서 데이터를 다운로드하고 검색하고 읽는 것만 허용합니다. OpenURL은(는) 원격 위치에서 파일 조작을 허용하지 않으므로 CInternetConnection 개체가 필요하지 않습니다.

파일에 쓰기와 같은 연결별(즉, 프로토콜별) 함수를 사용하려면 세션을 연 다음 특정 유형의 연결을 연 다음 해당 연결을 사용하여 원하는 모드에서 파일을 열어야 합니다. 연결별 함수에 관한 자세한 내용은 CInternetConnection을(를) 참조하세요.

CInternetSession::operator HINTERNET

이 연산자를 사용하여 현재 인터넷 세션에 대한 Windows 핸들을 가져옵니다.

operator HINTERNET() const;

CInternetSession::SetCookie

지정된 URL에 대한 쿠키를 설정합니다.

static BOOL SetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    LPCTSTR pstrCookieData);

매개 변수

pstrUrl
쿠키가 설정되는 URL을 지정하는, null로 끝나는 문자열에 대한 포인터입니다.

pstrCookieName
쿠키의 이름을 포함하는 문자열에 대한 포인터입니다.

pstrCookieData
URL과 연결할 실제 문자열 데이터를 포함하는 문자열에 대한 포인터입니다.

Return Value

성공하면 TRUE을(를) 반환하고, 그렇지 않으면 FALSE을(를) 반환합니다. 특정 오류 코드를 얻으려면 GetLastError을(를) 호출합니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 InternetSetCookie의 동작을 구현합니다.

CInternetSession::SetOption

이 멤버 함수를 호출하여 인터넷 세션에 대한 옵션을 설정합니다.

BOOL SetOption(
    DWORD dwOption,
    LPVOID lpBuffer,
    DWORD dwBufferLength,
    DWORD dwFlags = 0);

BOOL SetOption(
    DWORD dwOption,
    DWORD dwValue,
    DWORD dwFlags = 0);

매개 변수

dwOption
설정할 인터넷 옵션입니다. 가능한 옵션 목록은 Windows SDK의 옵션 플래그를 참조하세요.

lpBuffer
옵션 설정을 포함하는 버퍼입니다.

dwBufferLength
lpBuffer 길이 또는 dwValue 크기입니다.

dwValue
옵션 설정을 포함하는 DWORD입니다.

dwFlags
다양한 캐싱 옵션을 나타냅니다. 기본값은 0으로 설정됩니다. 가능한 값은 다음과 같습니다.

  • INTERNET_FLAG_DONT_CACHE 로컬 서버에서도 게이트웨이 서버에서도 데이터를 캐시하지 않습니다.

  • INTERNET_FLAG_OFFLINE 다운로드 작업이 영구 캐시를 통해서만 충족됩니다. 항목이 캐시에 없으면 해당 오류 코드가 반환됩니다. 이 플래그는 비트 "or"(|) 연산자와 결합할 수 있습니다.

Return Value

작업이 성공하면 TRUE 값이 반환됩니다. 오류가 발생하면 FALSE 값이 반환됩니다. 호출이 실패하면 오류의 원인을 확인하기 위해 Win32 함수 GetLastError이(가) 호출될 수 있습니다.

참고 항목

CObject 클래스
계층 구조 차트
CInternetConnection 클래스
CHttpConnection 클래스
CFtpConnection 클래스
CGopherConnection 클래스