CInternetSession::OpenURL

更新 : 2007 年 11 月

指定された要求を 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 の名前へのポインタ。file:、ftp:、gopher:、または http: で始まる URL だけがサポートされています。pszURLNULL の場合は、ASSERTS になります。

  • dwContext
    コールバックで返されるハンドルと一緒に渡されるアプリケーション定義の値。

  • dwFlags
    接続の処理方法を示すフラグ。有効なフラグの詳細については、後の「解説」を参照してください。有効なフラグは、次のとおりです。

    • INTERNET_FLAG_TRANSFER_ASCII   既定値です。ファイルを ASCII テキストとして転送します。

    • INTERNET_FLAG_TRANSFER_BINARY   ファイルをバイナリ ファイルとして転送します。

    • INTERNET_FLAG_RELOAD   データがローカルにキャッシュされている場合でも、回線からデータを取得します。

    • INTERNET_FLAG_DONT_CACHE   ローカル コンピュータまたはゲートウェイ サーバーのいずれにもデータをキャッシュしません。

    • INTERNET_FLAG_SECURE   このフラグは、HTTP 要求に対してだけ適用されます。SSL (Secure Sockets Layer) または PCT を使用した回線上の安全なトランザクションを要求します。

    • INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT   OpenUrl によって生成される新しい接続要求ごとに新しいセッションを作成するのではなく、可能な場合は、サーバーへの既存の接続を再利用します。

    • INTERNET_FLAG_PASSIVE   FTP サイトで使用します。パッシブ FTP を使用します。OpenURLCInternetConnection と一緒に使用します。

  • pstrHeaders
    HTTP サーバーに送信されるヘッダーを含んでいる文字列へのポインタ。

  • dwHeadersLength
    追加のヘッダーの長さ (文字数)。この値が -1L で pstrHeaders が NULL 以外の場合、pstrHeaders は 0 で終了するものと見なされ、長さが計算されます。

戻り値

FTP、GOPHER、HTTP、FILE の各インターネット サービスの場合だけファイル ハンドルを返します。解析に失敗した場合は NULL を返します。

OpenURL が返すポインタは、pszURL のサービスの種類に依存します。OpenURL が返す可能性のあるポインタを次の表に示します。

URL の種類

戻り値

file://

CStdioFile*

http://

CHttpFile*

gopher://

CGopherFile*

ftp://

CInternetFile*

解説

パラメータ dwFlags には INTERNET_FLAG_TRANSFER_ASCII または INTERNET_FLAG_TRANSFER_BINARY のいずれかを含める必要がありますが、両方を含めることはできません。その他のフラグはビットごとの OR (|) 演算子を使って組み合わせることができます。

Win32 関数の InternetOpenURL をラップする OpenURL は、インターネット サーバーからのデータのダウンロード、取得、および読み込みのみをサポートします。OpenURL では、リモート ファイルを操作できないので、CInternetConnection オブジェクトは必要ありません。

ファイルへの書き込みなど、接続に固有 (プロトコル固有) の関数を使用するには、セッションを開き、特定の種類の接続を開き、その接続を使用して必要なモードでファイルを開きます。接続に固有の関数の詳細については、CInternetConnection を参照してください。

例外

このメソッドは、CInternetException* 型の例外をスローできます。

必要条件

ヘッダー : afxinet.h

参照

参照

CInternetSession クラス

階層図

CInternetConnection クラス

CGopherConnection クラス

CInternetSession::GetFtpConnection

CInternetSession::GetHttpConnection

その他の技術情報

CInternetSession のメンバ