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

更新 : 2007 年 11 月

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

サーバーとやり取りするには、CInternetSession オブジェクトのほか、CInternetConnection オブジェクトも必要です。CInternetConnection オブジェクトを作成するには、CInternetSession::GetFtpConnectionCInternetSession::GetHttpConnection、または CInternetSession::GetGopherConnection を使用します。プロトコルの種類に応じていずれかを呼び出します。これらの呼び出しでは、サーバー上のファイルを開いて読み書きすることはできません。データの読み書き用にファイルを開くには、別の手順が必要です。

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

  • 1 つのインターネット セッションに対して、CInternetSession のインスタンスを 1 つ作成します。

  • インターネット セッションでデータを読み書きする場合は、CInternetFile のインスタンスを作成します。または、CInternetFile のサブクラスである CHttpFile または CGopherFile のインスタンスを作成します。CInternetSession::OpenURL を呼び出すと、簡単にデータを読み取ることができます。この関数は、渡された URL (Universal Resource Locator) を解析し、URL で指定されたサーバーとの接続を開き、読み取り専用の CInternetFile オブジェクトを返します。CInternetSession::OpenURL は、特定のプロトコル専用ではありません。FTP、HTTP、および Gopher の URL に対して同じ呼び出しを使用できます。CInternetSession::OpenURL はローカル ファイルにも使用できます。ローカル ファイルの場合は、CInternetFile の代わりに CStdioFile が返されます。

  • インターネット セッションでデータの読み書き以外の作業を行う場合は、CInternetFile のインスタンスを作成する必要はありません。たとえば、FTP フォルダのディレクトリを削除する場合は、CInternetFile のインスタンスは不要です。

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

  • CInternetSession::OpenURL を使用してサーバー接続を確立すると、OpenURLCStdioFile を返します。

  • CInternetSession::GetFtpConnectionGetGopherConnection、または GetHttpConnection でサーバー接続を確立する場合は、CFtpConnection::OpenFileCGopherConnection::OpenFile、または CHttpConnection::OpenRequest を呼び出します。CInternetFileCGopherFile、または CHttpFile が返されます。

OpenURL で汎用インターネット クライアントを作成する場合と、GetConnection 関数でプロトコル固有のクライアントを作成する場合では、インターネット クライアント アプリケーションの実装の手順が異なります。

さらに詳しくは次のトピックをクリックしてください

参照

概念

Win32 インターネット拡張機能 (WinInet)

インターネット クライアント アプリケーションの作成用の MFC クラス

インターネット クライアント クラスの必要条件