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 を呼び出して、CHttpConnection
オブジェクトを作成し、そのオブジェクトへのポインターを返します。
他の MFC インターネット クラスと連携 CHttpConnection
方法の詳細については、「WinInet を使用したInternet プログラミング 」の記事を参照してください。 他の 2 つのサポートされているインターネット プロトコル (gopher と FTP) を使用したサーバーへの接続の詳細については、 CGopherConnection と CFtpConnection のクラスを参照してください。
継承階層
CHttpConnection
要件
Header: 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の詳細については、「Remarks」セクションを参照してください。
nPort
この接続のインターネット ポートを識別する番号。
pstrUserName
サインインするユーザーの名前を指定する null で終わる文字列へのポインター。 NULL の場合、既定値は匿名です。
pstrPassword
サインインに使用するパスワードを指定する null で終わる文字列へのポインター。 pstrPasswordとpstrUserNameの両方が NULL の場合、既定の匿名パスワードはユーザーの電子メール名です。 pstrPassword が NULL または空の文字列ですが、pstrUserName が NULL でない場合は、空白のパスワードが使用されます。 次の表では、 pstrUserName と pstrPassword の 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 の Remarks セクションの表を参照してください。
解説
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 に返され、識別される操作の状態を指定します。 コンテキスト識別子の詳細については、「 Internet First Steps: WinInet 」を参照してください。
この関数では例外がスローされる場合があります。
関連項目
CInternetConnection クラス
階層図
CInternetConnection クラス
CHttpFile クラス