CHttpConnection クラス

HTTP サーバーへの接続を管理します。

構文

class CHttpConnection : public CInternetConnection

メンバー

パブリック コンストラクター

名前 説明
CHttpConnection::CHttpConnection CHttpConnection オブジェクトを作成します。

パブリック メソッド

名前 説明
CHttpConnection::OpenRequest HTTP 要求を開きます。

解説

HTTP は、MFC WinInet クラスによって実装される 3 つのインターネット サーバー プロトコルの 1 つです。

このクラス CHttpConnection には、HTTP プロトコルを使用してサーバーへの接続を管理するコンストラクターと 1 つのメンバー関数 OpenRequest が含まれています。

HTTP サーバーと通信するには、まず CInternetSessionインスタンスを作成してから、CHttpConnection オブジェクトを作成する必要があります。 オブジェクトをCHttpConnection直接作成することはありません。代わりに、CInternetSession::GetHttpConnection を呼び出します。CInternetSession::GetHttpConnection を呼び出すと、オブジェクトがCHttpConnection作成され、オブジェクトへのポインターが返されます。

他の MFC インターネット クラスでの動作の詳細については、WinInet を使用したインターネット プログラミングに関CHttpConnectionする記事を参照してください。 他の 2 つのサポートされているインターネット プロトコル (gopher と FTP) を使用したサーバーへの接続の詳細については、CGopherConnection クラスと CFtpConnection クラスを参照してください。

継承階層

CObject

CInternetConnection

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 で終わる文字列へのポインター。 pstrPasswordpstrUserName の両方が NULL の場合、既定の匿名パスワードはユーザーのメール名です。 pstrPassword が NULL または空の文字列で、pstrUserName が NULL でない場合は、空白のパスワードが使用されます。 次の表では、pstrUserNamepstrPassword の 4 つの設定の動作について説明します。

pstrUserName pstrPassword FTP サーバーに送信されたユーザー名 FTP サーバーに送信されたパスワード
NULL または " " NULL または " " "anonymous" ユーザーのメール名
NULL 以外の文字列 NULL または " " pstrUserName " "
NULL NULL 以外の文字列 ERROR ERROR
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/*" 型のドキュメントのみを受け入れると解釈します (つまり、画像やその他のバイナリ ファイルではなく、テキスト ドキュメントのみ)。 コンテンツ タイプは CGI 変数 CONTENT_TYPE と同等です。HTTP POST や PUT など情報が添付されるクエリのデータの形式を識別します。

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

戻り値

要求された 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 に返され、識別される操作の状態を提供します。 コンテキスト識別子の詳細については、インターネットの最初の手順: WinInet に関する記事を参照してください。

この関数では例外がスローされる場合があります。

関連項目

CInternetConnection クラス
階層図
CInternetConnection クラス
CHttpFile クラス