다음을 통해 공유


CHttpConnection 클래스

HTTP 서버와의 연결을 관리합니다.

구문

class CHttpConnection : public CInternetConnection

멤버

공용 생성자

속성 설명
CHttp커넥트ion::CHttp커넥트ion CHttpConnection 개체를 만듭니다.

공용 메서드

이름 설명
CHttp커넥트ion::OpenRequest HTTP 요청을 엽니다.

설명

HTTP는 MFC WinInet 클래스에서 구현하는 세 가지 인터넷 서버 프로토콜 중 하나입니다.

클래스 CHttpConnection 에는 HTTP 프로토콜을 사용하여 서버에 대한 연결을 관리하는 생성자와 하나의 멤버 함수 인 OpenRequest가 포함됩니다.

HTTP 서버와 통신하려면 먼저 CInternetSession 인스턴스를 만든 다음 CHttp커넥트ion 개체를 만들어야 합니다. 개체를 직접 만들지 않고, 개체를 CHttpConnection 만들고 CHttpConnection 포인터를 반환하는 CInternetSession::GetHttp커넥트ion을 호출합니다.

다른 MFC 인터넷 클래스의 작동 방식에 CHttpConnection 대한 자세한 내용은 WinInet을 사용한 인터넷 프로그래밍 문서를 참조하세요. 지원되는 다른 두 인터넷 프로토콜인 gopher 및 FTP를 사용하여 서버에 연결하는 방법에 대한 자세한 내용은 CGopher커넥트ionCFtp커넥트ion 클래스를 참조하세요.

상속 계층 구조

CObject

CInternetConnection

CHttpConnection

요구 사항

헤더: afxinet.h

CHttp커넥트ion::CHttp커넥트ion

이 멤버 함수는 개체를 생성하기 위해 호출됩니다 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로 끝나는 문자열에 대한 포인터입니다. pstrPasswordpstrUserName이 모두 NULL인 경우 기본 익명 암호는 사용자의 전자 메일 이름입니다. pstrPassword가 NULL이거나 빈 문자열이지만 pstrUserName이 NULL이 아니면 빈 암호가 사용됩니다. 다음 표에서는 pstrUserNamepstrPassword네 가지 가능한 설정에 대한 동작을 설명합니다.

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

dwFlags
플래그의 모든 조합입니다 INTERNET_FLAG_* . dwFlags 값에 대한 설명은 CHttp커넥트ion::OpenRequest설명 섹션에 있는 표를 참조하세요.

설명

직접 만들 수 CHttpConnection 없습니다. 대신 CInternetSession::GetHttp커넥트ion을 호출하여 개체를 만듭니다.

CHttp커넥트ion::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 반환된 엔터티를 영구 엔터티로 캐시에 추가합니다. 이는 표준 캐시 클린up, 일관성 검사 또는 가비지 수집이 캐시에서 이 항목을 제거할 수 없음을 의미합니다.
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 클래스