CInternetSession
クラス
単一のインターネット セッションまたは複数の同時インターネット セッションを作成し、初期化します。必要な場合は、プロキシ サーバーへの接続も記述します。
構文
class CInternetSession : public CObject
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CInternetSession::CInternetSession |
CInternetSession オブジェクトを構築します。 |
パブリック メソッド
名前 | 説明 |
---|---|
CInternetSession::Close |
インターネット セッションが終了したときにインターネット接続を閉じます。 |
CInternetSession::EnableStatusCallback |
状態コールバック ルーチンを確立します。 |
CInternetSession::GetContext |
インターネット セッションが終了したときにインターネット接続を閉じます。 |
CInternetSession::GetCookie |
指定した URL とそのすべての親 URL の Cookie を返します。 |
CInternetSession::GetCookieLength |
バッファーに格納されている Cookie の長さを指定する変数を取得します。 |
CInternetSession::GetFtpConnection |
サーバーとの FTP セッションを開きます。 ユーザーにログオンします。 |
CInternetSession::GetGopherConnection |
接続を開こうとしているアプリケーションの gopher サーバーを開きます。 |
CInternetSession::GetHttpConnection |
接続を開こうとしているアプリケーションの HTTP サーバーを開きます。 |
CInternetSession::OnStatusCallback |
状態コールバックが有効になっている場合の操作の状態を更新します。 |
CInternetSession::OpenURL |
URL を解析して開きます。 |
CInternetSession::SetCookie |
指定した URL の Cookie を設定します。 |
CInternetSession::SetOption |
インターネット セッションのオプションを設定します。 |
パブリック演算子
名前 | 説明 |
---|---|
CInternetSession::operator HINTERNET |
現在のインターネット セッションへのハンドル。 |
解説
アプリケーションの期間中にインターネット接続をメインに維持する必要がある場合は、クラスCWinApp
のメンバーをCInternetSession
作成できます。
インターネット セッションを確立したら、次の呼び出し OpenURL
を行うことができます。 CInternetSession
次に、グローバル関数 AfxParseURL
を呼び出して URL を解析します。 プロトコルの種類に関係なく、 CInternetSession
URL を解釈して管理します。 URL リソース "file://" で識別されたローカル ファイルの要求を処理できます。 OpenURL
は、渡す名前がローカル ファイルの場合、オブジェクトへの CStdioFile
ポインターを返します。
インターネット サーバーで URL を開 OpenURL
く場合は、サイトから情報を読み取ることができます。 サーバー上にあるファイルに対してサービス固有のアクション (HTTP、FTP、gopher など) を実行する場合は、そのサーバーとの適切な接続を確立する必要があります。 特定の種類の接続を特定のサービスに直接開くには、次のいずれかのメンバー関数を使用します。
GetGopherConnection
をクリックして、gopher サービスへの接続を開きます。GetHttpConnection
をクリックして HTTP サービスへの接続を開きます。GetFtpConnection
FTP サービスへの接続を開きます。
SetOption
では、タイムアウト値、再試行回数など、セッションのクエリ オプションを設定できます。
CInternetSession
SetCookie
は、GetCookie
Win32 Cookie データベースを管理する手段を提供しますGetCookieLength
。これにより、サーバーとスクリプトメインクライアント ワークステーションに関する状態情報が保持されます。
基本的なインターネット プログラミング タスクの詳細については、「インターネットの最初の手順: WinInet
」を参照してください。 MFC WinInet
クラスの使用に関する一般的な情報については、インターネット プログラミングWinInet
に関する記事を参照してください。
Note
CInternetSession
では、サポートされていないサービスの種類がスロー AfxThrowNotSupportedException
されます。 現在サポートされているサービスの種類は、FTP、HTTP、gopher、および file のみです。
継承階層
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
必要なアクセスの種類。 有効な値を次に示します。そのうちの 1 つだけを指定できます。
INTERNET_OPEN_TYPE_PRECONFIG
レジストリで構成済みの設定を使用して接続します。 このアクセスの種類は既定として設定されます。 TIS プロキシ経由で接続するには、この値に設定dwAccessType
します。その後、レジストリを適切に設定します。INTERNET_OPEN_TYPE_DIRECT
インターネットに直接接続します。INTERNET_OPEN_TYPE_PROXY
CERN プロキシ経由で接続します。
さまざまな種類のプロキシで接続する方法については、「一般的な FTP クライアント アプリケーションの手順」を参照してください。
pstrProxyName
優先 CERN プロキシの名前 (設定されている場合dwAccessType
)。INTERNET_OPEN_TYPE_PROXY
既定値は、NULL
です。
pstrProxyBypass
サーバー アドレスの省略可能なリストを含む文字列へのポインター。 これらのアドレスは、プロキシ アクセスを使用するときにバイパスされる場合があります。 値を NULL
指定すると、バイパス リストがレジストリから読み取られます。 このパラメーターは、に設定INTERNET_OPEN_TYPE_PROXY
されている場合dwAccessType
にのみ意味があります。
dwFlags
さまざまなキャッシュ オプションを示します。 既定値は 0 に設定されています。 指定できる値は次のとおりです。
INTERNET_FLAG_DONT_CACHE
データは、ローカルまたはゲートウェイ サーバーにキャッシュしないでください。INTERNET_FLAG_OFFLINE
ダウンロード操作は、永続キャッシュによってのみ満たされます。 項目がキャッシュに存在しない場合は、適切なエラー コードが返されます。 このフラグは、ビットごとの "or" (|
) 演算子と組み合わせることができます。
解説
CInternetSession
は、アプリケーションによって呼び出される最初のインターネット関数です。 内部データ構造を初期化し、アプリケーションからの今後の呼び出しに備えています。
インターネット接続を開けなかった場合は、 CInternetSession
AfxThrowInternetException
.
例
CFtpFileFind
の例を参照してください。
CInternetSession::Close
アプリケーションでオブジェクトの使用が完了したら、このメンバー関数を CInternetSession
呼び出します。
virtual void Close();
例
CFtpFileFind
の例を参照してください。
CInternetSession::EnableStatusCallback
状態コールバックを有効にするには、このメンバー関数を呼び出します。
BOOL EnableStatusCallback(BOOL bEnable = TRUE);
パラメーター
bEnable
コールバックを有効にするか無効にするかを指定します。 既定値は、TRUE
です。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。 呼び出しが失敗した場合は、スローされた CInternetException
オブジェクトを調べることで、エラーの原因を特定します。
解説
状態コールバックを処理するときに、アプリケーションのステータス バーに、操作の進行状況に関する状態 (名前の解決、サーバーへの接続など) を指定できます。 操作の状態の表示は、長期的な操作中に特に望ましいものです。
コールバックは要求の処理中に発生するため、アプリケーションは、ネットワークへのデータ スループットの低下を防ぐために、コールバックにできるだけ少ない時間を費やす必要があります。 たとえば、コールバックにダイアログ ボックスを配置すると、サーバーが要求を終了する処理が長い場合があります。
コールバックが保留中である限り、状態コールバックを削除することはできません。
操作を非同期的に処理するには、独自のスレッドを作成するか、MFC なしで WinInet 関数を使用する必要があります。
CInternetSession::GetContext
このメンバー関数を呼び出して、特定のアプリケーション セッションのコンテキスト値を取得します。
DWORD_PTR GetContext() const;
戻り値
アプリケーション定義コンテキスト識別子。
解説
OnStatusCallback
は、返された GetContext
コンテキスト ID を使用して、特定のアプリケーションの状態を報告します。 たとえば、状態情報の返しを伴うインターネット要求をユーザーがアクティブ化すると、状態コールバックはコンテキスト ID を使用してその特定の要求の状態を報告します。 ユーザーが 2 つの個別のインターネット要求をアクティブ化し、両方が状態情報を返す場合は、 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 に対して取得する Cookie の名前を含む文字列へのポインター。
pstrCookieData
最初のオーバーロードでは、Cookie データを受け取るバッファーのアドレスを含む文字列へのポインター。 この値は、NULL
の場合もあります。 2 番目のオーバーロードでは、Cookie データを CString
受信するオブジェクトへの参照。
dwBufLen
バッファーのサイズを指定する pstrCookieData
変数。 関数が成功すると、バッファーはバッファーにコピーされたデータの量を pstrCookieData
受け取ります。 その場合 pstrCookieData
、このパラメーターは NULL
、すべての Cookie データをコピーするために必要なバッファーのサイズを指定する値を受け取ります。
戻り値
成功した TRUE
場合は FALSE
返します。それ以外の場合は返します。 呼び出しが失敗した場合は、Win32 関数 GetLastError
を呼び出してエラーの原因を特定します。 次のエラー値が適用されます。
ERROR_NO_MORE_ITEMS
指定された URL とそのすべての親に対する Cookie はありません。ERROR_INSUFFICIENT_BUFFER
渡されたdwBufLen
値は、すべての Cookie データをコピーするには不十分です。 返されるdwBufLen
値は、すべてのデータを取得するために必要なバッファーのサイズです。
解説
2 番目のオーバーロードでは、MFC は指定された CString
オブジェクトに Cookie データを取得します。
CInternetSession::GetCookieLength
このメンバー関数を呼び出して、バッファーに格納されている Cookie の長さを取得します。
static DWORD GetCookieLength(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName);
パラメーター
pstrUrl
URL を含む文字列へのポインター
pstrCookieName
Cookie の名前を含む文字列へのポインター。
戻り値
DWORD
バッファーに格納されている Cookie の長さを示す値。 名前が指定された Cookie が存在しない場合は 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
既定の匿名パスワードはユーザーの電子メール名です。 ある NULL
(または空の文字列) のNULL
pstrUserName
場合pstrPassword
は、空白のパスワードが使用されます。 次の表では、次の 4 つの設定 pstrUserName
の動作について説明します pstrPassword
。
pstrUserName |
pstrPassword |
FTP サーバーに送信されたユーザー名 | FTP サーバーに送信されたパスワード |
---|---|---|---|
NULL または " " |
NULL または " " |
"anonymous" |
ユーザーのメール名 |
NULL 文字列以外 |
NULL または " " |
pstrUserName |
" " |
NULL |
NULL 文字列以外 |
ERROR | ERROR |
NULL 文字列以外 |
NULL 文字列以外 |
pstrUserName |
pstrPassword |
nPort
サーバーで使用する TCP/IP ポートを識別する番号。
bPassive
この FTP セッションのパッシブ モードまたはアクティブ モードを指定します。 に TRUE
設定すると、Win32 API dwFlag
INTERNET_FLAG_PASSIVE
が .
戻り値
CFtpConnection
オブジェクトを指すポインターです。 呼び出しが失敗した場合は、スローされた CInternetException
オブジェクトを調べることで、エラーの原因を特定します。
解説
GetFtpConnection
は FTP サーバーに接続し、オブジェクトへのポインターを作成して CFTPConnection
返します。 サーバーで特定の操作は実行されません。 たとえば、ファイルの読み取りまたは書き込みを行う場合は、これらの操作を個別の手順として実行する必要があります。 ファイルの検索、CFtpFileFind
ファイルの開き方、ファイルの読み取りまたは書き込みの詳細については、クラスCFtpConnection
を参照してください。 一般的な 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 ポートを識別する番号。
戻り値
CGopherConnection
オブジェクトを指すポインターです。 呼び出しが失敗した場合は、スローされた CInternetException
オブジェクトを調べることで、エラーの原因を特定します。
解説
GetGopherConnection
は gopher サーバーに接続し、オブジェクトへのポインターを作成して CGopherConnection
返します。 サーバーで特定の操作は実行されません。 たとえば、データの読み取りまたは書き込みを行う場合は、これらの操作を個別の手順として実行する必要があります。 ファイルの検索、CGopherFile
CGopherFileFind
ファイルの開き方、ファイルの読み取りまたは書き込みの詳細については、クラスCGopherConnection
を参照してください。 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
表を参照してください。
戻り値
CHttpConnection
オブジェクトを指すポインターです。 呼び出しが失敗した場合は、スローされた CInternetException
オブジェクトを調べることで、エラーの原因を特定します。
解説
GetHttpConnection
は HTTP サーバーに接続し、オブジェクトへのポインターを作成して CHttpConnection
返します。 サーバーで特定の操作は実行されません。 たとえば、HTTP ヘッダーに対してクエリを実行する場合は、別の手順としてこの操作を実行する必要があります。 クラス CHttpConnection
と、 CHttpFile
HTTP サーバーへの接続を使用して実行できる操作の詳細を参照してください。 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
は、次のように定義されます。
Value | 意味 |
---|---|
INTERNET_STATUS_RESOLVING_NAME |
に含まれる lpvStatusInformation 名前の IP アドレスを調べること。 |
INTERNET_STATUS_NAME_RESOLVED |
に含まれる名前の IP アドレスが正常に lpvStatusInformation 見つかりました。 |
INTERNET_STATUS_CONNECTING_TO_SERVER |
によって指されるソケット アドレス (SOCKADDR ) への lpvStatusInformation 接続。 |
INTERNET_STATUS_CONNECTED_TO_SERVER |
が指すソケット アドレス (SOCKADDR ) に正常に接続されました lpvStatusInformation 。 |
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 が新しいハンドルを作成したことを示すために使用されます。 これにより、接続に時間がかかりすぎる場合、アプリケーションは別のスレッドから Win32 関数 InternetCloseHandle を呼び出すことができます。 これらの関数の詳細については、Windows SDK を参照してください。 |
INTERNET_STATUS_HANDLE_CLOSING |
このハンドル値が正常に終了しました。 |
状態コールバック ルーチンが実行される前に何らかのアクションを要求するには、このメンバー関数をオーバーライドします。
Note
状態コールバックにはスレッド状態の保護が必要です。 共有ライブラリで 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 の名前へのポインター。 、、gopher:
またはhttp:
で始まる ftp:
file:
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 要求にのみ適用されます。 セキュア ソケット レイヤーまたは PCT を使用して、ネットワーク上のセキュリティで保護されたトランザクションを要求します。INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT
可能であれば、接続要求ごとに新しいセッションを作成するのではなく、生成された新しい要求に対してOpenUrl
サーバーへの既存の接続を再利用します。INTERNET_FLAG_PASSIVE
FTP サイトに使用されます。 パッシブ FTP セマンティクスを使用します。 でCInternetConnection
OpenURL
使用されます。
pstrHeaders
HTTP サーバーに送信されるヘッダーを含む文字列へのポインター。
dwHeadersLength
追加ヘッダーの長さ (文字数)。 これが-1L
非NULL
であるpstrHeaders
場合は、pstrHeaders
0 で終わると見なされ、長さが計算されます。
戻り値
FTP、GOPHER、HTTP、および FILE タイプのインターネット サービスのみのファイル ハンドルを返します。 解析が NULL
失敗した場合に返します。
返される OpenURL
ポインターは、サービスの種類によって pstrURL
異なります。 次の表は、返される可能性のあるポインターを OpenURL
示しています。
URL の種類 | 返品 |
---|---|
file:// |
CStdioFile* |
http:// |
CHttpFile* |
gopher:// |
CGopherFile* |
ftp:// |
CInternetFile* |
解説
パラメーターdwFlags
には、いずれかまたはINTERNET_FLAG_TRANSFER_BINARY
両方INTERNET_FLAG_TRANSFER_ASCII
を含める必要がありますが、両方を含めてはなりません。 再メインフラグは、ビットごとの "or" (|
) 演算子と組み合わせることができます。
OpenURL
Win32 関数 InternetOpenURL
をラップする場合、インターネット サーバーからのデータのダウンロード、取得、読み取りのみが許可されます。 OpenURL
では、リモートの場所でファイルを操作できないため、オブジェクトは必要ありません CInternetConnection
。
ファイルへの書き込みなど、接続固有の (つまりプロトコル固有の) 関数を使用するには、セッションを開き、特定の種類の接続を開き、その接続を使用して目的のモードでファイルを開く必要があります。 接続固有の関数の詳細については、以下を参照してください CInternetConnection
。
CInternetSession::operator HINTERNET
この演算子を使用して、現在のインターネット セッションの Windows ハンドルを取得します。
operator HINTERNET() const;
CInternetSession::SetCookie
指定した URL の Cookie を設定します。
static BOOL SetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
LPCTSTR pstrCookieData);
パラメーター
pstrUrl
Cookie を設定する URL を指定する null で終わる文字列へのポインター。
pstrCookieName
Cookie の名前を含む文字列へのポインター。
pstrCookieData
URL に関連付ける実際の文字列データを含む文字列へのポインター。
戻り値
成功した 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
オプション設定を含む A DWORD
。
dwFlags
さまざまなキャッシュ オプションを示します。 既定値は 0 に設定されています。 指定できる値は次のとおりです。
INTERNET_FLAG_DONT_CACHE
データは、ローカルまたはゲートウェイ サーバーにキャッシュしないでください。INTERNET_FLAG_OFFLINE
ダウンロード操作は、永続キャッシュによってのみ満たされます。 項目がキャッシュに存在しない場合は、適切なエラー コードが返されます。 このフラグは、ビットごとの "or" (|
) 演算子と組み合わせることができます。
戻り値
操作が成功した場合は、値が TRUE
返されます。 エラーが発生した場合は、値が FALSE
返されます。 呼び出しが失敗した場合、Win32 関数 GetLastError
を呼び出してエラーの原因を特定できます。
関連項目
CObject
クラス
階層図
CInternetConnection
クラス
CHttpConnection
クラス
CFtpConnection
クラス
CGopherConnection
クラス
フィードバック
https://aka.ms/ContentUserFeedback。
近日公開予定: 2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub イシューを段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、以下を参照してください:フィードバックの送信と表示