すべてのインターネット クライアント アプリケーションの基礎は、インターネット セッションです。 MFC は、 CInternetSession クラスのオブジェクトとしてインターネット セッションを実装します。 このクラスを使用すると、1 つのインターネット セッションまたは複数の同時セッションを作成できます。
サーバーと通信するには、 CInternetConnection オブジェクトと CInternetSession
が必要です。
CInternetConnection
、CInternetSession::GetHttpConnection、または CInternetSession::GetGopherConnection を使用して、を作成できます。 これらの各呼び出しは、プロトコルの種類に固有です。 これらの呼び出しは、読み取りまたは書き込みのためにサーバー上のファイルを開くわけではありません。 データの読み取りまたは書き込みを行う場合は、別の手順でファイルを開く必要があります。
ほとんどのインターネット セッションでは、 CInternetSession
オブジェクトは CInternetFile オブジェクトと連携して動作します。
インターネット セッションの場合は、 CInternetSession のインスタンスを作成する必要があります。
インターネット セッションでデータの読み取りまたは書き込みを行う場合は、
CInternetFile
(またはそのサブクラス 、CHttpFile または CGopherFile) のインスタンスを作成する必要があります。 データを読み取る最も簡単な方法は、 CInternetSession::OpenURL を呼び出す方法です。 この関数は、指定されたユニバーサル リソース ロケーター (URL) を解析し、URL で指定されたサーバーへの接続を開き、読み取り専用のCInternetFile
オブジェクトを返します。CInternetSession::OpenURL
は 1 つのプロトコルの種類に固有ではありません。FTP、HTTP、または gopher の URL に対して同じ呼び出しが機能します。CInternetSession::OpenURL
ローカルファイルでも動作します(CStdioFile
ではなくCInternetFile
を返します)。インターネット セッションがデータの読み取りまたは書き込みを行わないが、FTP ディレクトリ内のファイルの削除などの他のタスクを実行する場合は、
CInternetFile
のインスタンスを作成する必要がない場合があります。
CInternetFile
オブジェクトを作成するには、次の 2 つの方法があります。
CInternetSession::OpenURL
を使用してサーバー接続を確立すると、OpenURL
の呼び出しによってCStdioFile
が返されます。CInternetSession::GetFtpConnection
、GetGopherConnection
、またはGetHttpConnection
を使用してサーバー接続を確立する場合は、それぞれCFtpConnection::OpenFile
、CGopherConnection::OpenFile
、またはCHttpConnection::OpenRequest
を呼び出して、CInternetFile
、CGopherFile
、またはCHttpFile
を返す必要があります。
インターネット クライアント アプリケーションを実装する手順は、 OpenURL
に基づいて汎用インターネット クライアントを作成するか、 GetConnection
関数のいずれかを使用してプロトコル固有のクライアントを作成するかによって異なります。
詳しく知りたいこと
こちらも参照ください
Win32 インターネット拡張機能 (WinInet)
インターネット クライアント アプリケーションを作成するための MFC クラス
インターネット クライアント クラスの前提条件