次の方法で共有


MFC WinInet クラスを使用したインターネット クライアント アプリケーションの記述

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

サーバーと通信するには、 CInternetConnection オブジェクトと CInternetSessionが必要です。 CInternetConnectionCInternetSession::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::GetFtpConnectionGetGopherConnection、またはGetHttpConnectionを使用してサーバー接続を確立する場合は、それぞれCFtpConnection::OpenFileCGopherConnection::OpenFile、またはCHttpConnection::OpenRequestを呼び出して、CInternetFileCGopherFile、またはCHttpFileを返す必要があります。

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

詳しく知りたいこと

こちらも参照ください

Win32 インターネット拡張機能 (WinInet)
インターネット クライアント アプリケーションを作成するための MFC クラス
インターネット クライアント クラスの前提条件