CHttpConnection 클래스
HTTP 서버와의 연결을 관리합니다.
구문
class CHttpConnection : public CInternetConnection
멤버
공용 생성자
속성 | 설명 |
---|---|
CHttpConnection::CHttpConnection | CHttpConnection 개체를 만듭니다. |
공용 메서드
이름 | 설명 |
---|---|
CHttpConnection::OpenRequest | HTTP 요청을 엽니다. |
설명
HTTP는 MFC WinInet 클래스에서 구현하는 세 가지 인터넷 서버 프로토콜 중 하나입니다.
클래스 CHttpConnection
에는 HTTP 프로토콜을 사용하여 서버에 대한 연결을 관리하는 생성자와 하나의 멤버 함수 인 OpenRequest가 포함됩니다.
HTTP 서버와 통신하려면 먼저 CInternetSession 인스턴스를 만든 다음 CHttpConnection 개체를 만들어야 합니다. 개체를 직접 만들지 않고, 개체를 CHttpConnection
만들고 CHttpConnection
포인터를 반환하는 CInternetSession::GetHttpConnection을 호출합니다.
다른 MFC 인터넷 클래스의 작동 방식에 CHttpConnection
대한 자세한 내용은 WinInet을 사용한 인터넷 프로그래밍 문서를 참조하세요. 지원되는 다른 두 인터넷 프로토콜인 gopher 및 FTP를 사용하여 서버에 연결하는 방법에 대한 자세한 내용은 CGopherConnection 및 CFtpConnection 클래스를 참조하세요.
상속 계층 구조
CHttpConnection
요구 사항
헤더: afxinet.h
CHttpConnection::CHttpConnection
이 멤버 함수는 개체를 생성하기 위해 호출됩니다 CHttpConnection
.
CHttpConnection(
CInternetSession* pSession,
HINTERNET hConnected,
LPCTSTR pstrServer,
DWORD_PTR dwContext);
CHttpConnection(
CInternetSession* pSession,
LPCTSTR pstrServer,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
DWORD_PTR dwContext = 1);
CHttpConnection(
CInternetSession* pSession,
LPCTSTR pstrServer,
DWORD dwFlags,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
DWORD_PTR dwContext = 1);
매개 변수
pSession
CInternetSession 개체에 대한 포인터입니다.
hConnected
인터넷 연결에 대한 핸들입니다.
pstrServer
서버 이름을 포함하는 문자열에 대한 포인터입니다.
dwContext
개체의 CInternetConnection
컨텍스트 식별자입니다. dwContext에 대한 자세한 내용은 설명 섹션을 참조하세요.
nPort
이 연결의 인터넷 포트를 식별하는 번호입니다.
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 |
dwFlags
INTERNET_FLAG_*
플래그의 조합입니다. dwFlags 값에 대한 설명은 CHttpConnection::OpenRequest의 설명 섹션에 있는 표를 참조하세요.
설명
직접 만들 수 CHttpConnection
없습니다. 대신 CInternetSession::GetHttpConnection을 호출하여 개체를 만듭니다.
CHttpConnection::OpenRequest
HTTP 연결을 열려면 이 멤버 함수를 호출합니다.
CHttpFile* OpenRequest(
LPCTSTR pstrVerb,
LPCTSTR pstrObjectName,
LPCTSTR pstrReferer = NULL,
DWORD_PTR dwContext = 1,
LPCTSTR* ppstrAcceptTypes = NULL,
LPCTSTR pstrVersion = NULL,
DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);
CHttpFile* OpenRequest(
int nVerb,
LPCTSTR pstrObjectName,
LPCTSTR pstrReferer = NULL,
DWORD_PTR dwContext = 1,
LPCTSTR* ppstrAcceptTypes = NULL,
LPCTSTR pstrVersion = NULL,
DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);
매개 변수
pstrVerb
요청에 사용할 동사를 포함하는 문자열에 대한 포인터입니다. NULL인 경우 "GET"이 사용됩니다.
pstrObjectName
지정된 동사의 대상 개체를 포함하는 문자열에 대한 포인터입니다. 이 문자열은 일반적으로 파일 이름, 실행 모듈 또는 검색 지정자입니다.
pstrReferer
요청의 URL(pstrObjectName)을 가져온 문서의 주소(URL)를 지정하는 문자열에 대한 포인터입니다. NULL이면 HTTP 헤더가 지정되지 않습니다.
dwContext
OpenRequest
작업에 대한 컨텍스트 식별자입니다. dwContext에 대한 자세한 내용은 설명 섹션을 참조하세요.
ppstrAcceptTypes
클라이언트에서 허용하는 콘텐츠 형식을 나타내는 문자열에 대한 LPCTSTR 포인터의 null로 끝나는 배열에 대한 포인터입니다. ppstrAcceptTypes가 NULL인 경우 서버는 클라이언트가 "text/*" 형식의 문서만 허용한다는 것을 해석합니다(즉, 그림이나 다른 이진 파일이 아닌 텍스트 문서만 허용). 콘텐츠 형식 첨부 HTTP POST 및 PUT 등 첨부된 정보가 있는 쿼리에 대한 데이터의 형식을 식별하는 CGI 변수 CONTENT_TYPE과 같습니다.
pstrVersion
HTTP 버전을 정의하는 문자열에 대한 포인터입니다. NULL인 경우 "HTTP/1.0"이 사용됩니다.
dwFlags
INTERNET_ * FLAG_ 플래그의 조합입니다. 가능한 dwFlags 값에 대한 설명은 설명 섹션을 참조하세요 .
nVerb
HTTP 요청 형식과 관련된 숫자입니다. 다음 중 하나일 수 있습니다.
HTTP 요청 형식 | nVerb 값 |
---|---|
HTTP_VERB_POST | 0 |
HTTP_VERB_GET | 1 |
HTTP_VERB_HEAD | 2 |
HTTP_VERB_PUT | 3 |
HTTP_VERB_LINK | 4 |
HTTP_VERB_DELETE | 5 |
HTTP_VERB_UNLINK | 6 |
Return Value
요청된 CHttpFile 개체에 대한 포인터입니다.
설명
dwFlags는 다음 중 하나일 수 있습니다.
인터넷 플래그 | 설명 |
---|---|
INTERNET_FLAG_RELOAD | 캐시가 아니라 원본 서버에서 요청한 파일, 개체 또는 디렉터리 목록을 다운로드합니다. |
INTERNET_FLAG_DONT_CACHE | 반환된 엔터티를 캐시에 추가하지 않습니다. |
INTERNET_FLAG_MAKE_PERSISTENT | 반환된 엔터티를 영구 엔터티로 캐시에 추가합니다. 즉, 표준 캐시 정리, 일관성 검사 또는 가비지 수집은 캐시에서 이 항목을 제거할 수 없습니다. |
INTERNET_FLAG_SECURE | 보안 트랜잭션 의미 체계를 사용합니다. SSL/PCT를 사용하는 것으로 변환되며 HTTP 요청에서만 의미가 있습니다. |
INTERNET_FLAG_NO_AUTO_REDIRECT | HTTP에만 사용되며 CHttpFile::SendRequest에서 리디렉션을 자동으로 처리해서는 안 되도록 지정합니다. |
dwContext
기본값을 재정의하여 컨텍스트 식별자를 설정한 값으로 설정합니다. 컨텍스트 식별자는 CInternetSession 개체에서 만든 개체의 CHttpConnection
이 특정 작업과 연결됩니다. 이 값은 식별된 작업에 대한 상태를 제공하기 위해 CInternetSession::OnStatusCallback 에 반환됩니다. 컨텍스트 식별자에 대한 자세한 내용은 Internet First Steps: WinInet 문서를 참조하세요.
이 함수를 사용할 경우 예외가 throw될 수 있습니다.
참고 항목
CInternetConnection 클래스
계층 구조 차트
CInternetConnection 클래스
CHttpFile 클래스