MFC WinInet クラスを使ってインターネット クライアント アプリケーションを作成する方法

すべてのインターネット クライアント アプリケーションの基礎は、インターネット セッションです。 MFC は、CInternetSession クラスのオブジェクトとしてインターネット セッションを実装します。 このクラスを使用すると、1 つのインターネット セッションまたは複数の同時セッションを作成できます。

サーバーと通信するには、CInternetConnection オブジェクトだけでなく、CInternetSession も必要です。 CInternetConnection を作成するには、CInternetSession::GetFtpConnectionCInternetSession::GetHttpConnection、または CInternetSession::GetGopherConnection を使用します。 これらの呼び出しは、プロトコルの種類によって異なります。 これらの呼び出しによって、サーバー上のファイルが読み取り用または書き込み用に開かれることはありません。 データの読み取りまたは書き込みを行う場合は、別途ファイルを開く必要があります。

インターネット セッションのほとんどで、CInternetSession オブジェクトは CInternetFile オブジェクトと連携して動作します。

  • インターネット セッションでは、CInternetSession のインスタンスを作成する必要があります。

  • インターネット セッションでデータの読み取りまたは書き込みを行う場合は、CInternetFile のインスタンス (またはそのサブクラスの CHttpFile または CGopherFile) を作成する必要があります。 データを読み取る最も簡単な方法は、CInternetSession::OpenURL を呼び出すことです。 この関数は、ユーザーが指定したユニバーサル リソース ロケーター (URL) を解析して、その URL で指定されたサーバーへの接続を開き、読み取り専用の CInternetFile オブジェクトを返します。 CInternetSession::OpenURL は、1 つのプロトコルの種類に固有ではありません。FTP、HTTP、または Gopher URL に対して同じ呼び出しが機能します。 CInternetSession::OpenURL は、ローカル ファイルでも動作します (CInternetFile の代わりに CStdioFile を返します)。

  • インターネット セッションでデータの読み取りまたは書き込みを行わず、FTP ディレクトリ内のファイルを削除するなどの他のタスクを実行する場合は、CInternetFile のインスタンスを作成する必要はありません。

CInternetFile オブジェクトを作成するには、次の 2 つの方法があります。

  • CInternetSession::OpenURL を使用してサーバー接続を確立する場合は、OpenURL を呼び出すと CStdioFile が返されます。

  • CInternetSession::GetFtpConnectionGetGopherConnection、または GetHttpConnection を使用してサーバー接続を確立する場合は、それぞれ、CFtpConnection::OpenFileCGopherConnection::OpenFile、または CHttpConnection::OpenRequest を呼び出して、それぞれ、CInternetFileCGopherFile、または CHttpFile を返す必要があります。

インターネット クライアント アプリケーションを実装する手順は、OpenURL に基づいて汎用インターネット クライアントを作成するのか、GetConnection 関数のいずれかを使用してプロトコル固有のクライアントを作成するのかによって異なります。

さらに詳しい情報

関連項目

Win32 インターネット拡張機能 (WinInet)
インターネット クライアント アプリケーションの作成用の MFC クラス
インターネット クライアント クラスの必要条件