InternetOpenUrlA 関数 (wininet.h)

完全な FTP または HTTP URL で指定されたリソースを開きます。

構文

HINTERNET InternetOpenUrlA(
  [in] HINTERNET hInternet,
  [in] LPCSTR    lpszUrl,
  [in] LPCSTR    lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

パラメーター

[in] hInternet

現在のインターネット セッションへのハンドル。 ハンドルは、 InternetOpen の以前の呼び出しによって返されている必要があります。

[in] lpszUrl

読み取りを開始する URL を指定する null で終わる文字列変数へのポインター。 サポートされるのは、ftp:、http:、または https: で始まる URL のみです。

[in] lpszHeaders

HTTP サーバーに送信されるヘッダーを指定する null で終わる文字列へのポインター。 詳細については、HttpSendRequest 関数の lpszHeaders パラメーターの説明を参照してください。

[in] dwHeadersLength

追加ヘッダーのサイズ (TCHAR)。 このパラメーターが -1L で 、lpszHeadersNULL でない場合、 lpszHeaders は 0 で終わる (ASCIIZ) と見なされ、長さが計算されます。

[in] dwFlags

このパラメーターには、次の値のいずれかを指定できます。

意味
INTERNET_FLAG_EXISTING_CONNECT
要求を行うために必要な同じ属性を持つオブジェクトが存在する場合は、既存の InternetConnect オブジェクトの使用を試みます。 FTP は通常、同じセッション中に複数の操作を実行する唯一のプロトコルであるため、これは FTP 操作でのみ役立ちます。 WinINet API は、InternetOpen によって生成された HINTERNET ハンドルごとに 1 つの接続ハンドルをキャッシュします。 InternetOpenUrl は、HTTP 接続と FTP 接続にこのフラグを使用します。
INTERNET_FLAG_HYPERLINK
ネットワークからアイテムを再読み込みするかどうかを判断するときに、有効期限時間がなく、LastModified 時刻がサーバーから返されなかった場合に、強制的に再読み込みを行います。
INTERNET_FLAG_IGNORE_CERT_CN_INVALID
要求で指定されたホスト名に対してサーバーから返される SSL/PCT ベースの証明書のチェックを無効にします。 WinINet 関数では、ホスト名と単純なワイルドカード規則の照合を比較することで、証明書に対して単純なチェックを使用します。
INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
SSL/PCT ベースの証明書の適切な有効期限のチェックを無効にします。
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
この特殊な種類のリダイレクトの検出を無効にします。 このフラグを使用すると、WinINet は HTTPS から HTTP URL へのリダイレクトを透過的に許可します。
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
この特殊な種類のリダイレクトの検出を無効にします。 このフラグを使用すると、WinINet は HTTP から HTTPS URL へのリダイレクトを透過的に許可します。
INTERNET_FLAG_KEEP_CONNECTION
接続にキープアライブ セマンティクス (使用可能な場合) を使用します。 このフラグは、Microsoft Network (MSN)、NTLM、およびその他の種類の認証に必要です。
INTERNET_FLAG_NEED_FILE
ファイルをキャッシュできない場合は、一時ファイルを作成します。
INTERNET_FLAG_NO_AUTH
認証を自動的に試行しません。
INTERNET_FLAG_NO_AUTO_REDIRECT
HttpSendRequest でリダイレクトを自動的に処理しません。
INTERNET_FLAG_NO_CACHE_WRITE
返されたエンティティをキャッシュに追加しません。
INTERNET_FLAG_NO_COOKIES
要求に Cookie ヘッダーを自動的に追加せず、返された Cookie を Cookie データベースに自動的に追加しません。
INTERNET_FLAG_NO_UI
Cookie ダイアログ ボックスを無効にします。
INTERNET_FLAG_PASSIVE
パッシブ FTP セマンティクスを使用します。 InternetOpenUrl では、FTP ファイルとディレクトリにこのフラグが使用されます。
INTERNET_FLAG_PRAGMA_NOCACHE
キャッシュされたコピーがプロキシ上に存在する場合でも、配信元サーバーによって要求が強制的に解決されるようにします。
INTERNET_FLAG_RAW_DATA
FTP ディレクトリ情報を取得するときに、 データをWIN32_FIND_DATA 構造体として返します。 このフラグが指定されていない場合、または呼び出しが CERN プロキシを介して行われた場合、 InternetOpenUrl は ディレクトリの HTML バージョンを返します。

Windows XP および Windows Server 2003 R2 以前: また、Gopher ディレクトリ情報を取得するときに 、データをGOPHER_FIND_DATA 構造体として返します。

INTERNET_FLAG_RELOAD
要求されたファイル、オブジェクト、またはディレクトリ リストをキャッシュからではなく元のサーバーからダウンロードします。
INTERNET_FLAG_RESYNCHRONIZE
前回のダウンロード以降にリソースが変更された場合は、HTTP リソースを再読み込みします。 すべての FTP リソースが再読み込みされます。

Windows XP および Windows Server 2003 R2 以前: Gopher リソースも再読み込みされます。

INTERNET_FLAG_SECURE
安全なトランザクション セマンティクスを使用します。 これは、Secure Sockets Layer/Private Communications Technology (SSL/PCT) の使用に変換され、HTTP 要求でのみ意味があります。

[in] dwContext

返されるハンドルと共にコールバック関数に渡されるアプリケーション定義値を指定する変数へのポインター。

戻り値

接続が正常に確立された場合は URL への有効なハンドルを返し、接続が失敗した場合は NULL を 返します。 特定のエラー メッセージを取得するには、 GetLastError を呼び出します。 サービスへのアクセスが拒否された理由を確認するには、 InternetGetLastResponseInfo を呼び出します。

注釈

使用されている URL に相対 URL と空白で区切られたベース URL が含まれている場合は、 まず InternetCanonicalizeUrl を呼び出します。

これは、アプリケーションが WinINet でサポートされているプロトコルを介してデータを取得するために使用できる一般的な関数です。 この関数は、アプリケーションがプロトコルの詳細にアクセスする必要はなく、URL に対応するデータのみが必要な場合に特に便利です。 InternetOpenUrl 関数は、URL 文字列を解析し、サーバーへの接続を確立し、URL で識別されるデータをダウンロードする準備をします。 その後、アプリケーションは InternetReadFile (ファイルの場合) または InternetFindNextFile (ディレクトリの場合) を使用して URL データを取得できます。 InternetOpenUrl の前に InternetConnect を呼び出す必要はありません。

Windows XP および Windows Server 2003 R2 以前: InternetOpenUrl では、通常、中央サービス組織 (CSO) 名検索に使用されるポート 70 (標準の Gopher ポート) とポート 105 を除き、1024 未満のポートで Gopher が無効になります。

呼び出し元のアプリケーションで InternetOpenUrl によって返される HINTERNET ハンドルの使用が完了したら、InternetCloseHandle 関数を使用して閉じる必要があります。

メモ非同期モードで作業している場合 (InternetOpendwFlags パラメーターはINTERNET_FLAG_ASYNCを指定します)、dwContext パラメーターが 0 (INTERNET_NO_CALLBACK) の場合、セッション ハンドルで InternetSetStatusCallback を使用して設定されたコールバック関数は呼び出されませんが、呼び出しは非同期モードで実行されます

WinINet API の他のすべての側面と同様に、この関数を DllMain またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。

メモ WinINet では、サーバーの実装はサポートされていません。 また、サービスから使用しないでください。 サーバーの実装またはサービスの場合は、 Microsoft Windows HTTP サービス (WinHTTP) を使用します。
 

注意

wininet.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして InternetOpenUrl を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wininet.h
Library Wininet.lib
[DLL] Wininet.dll

こちらもご覧ください

一様リソース ロケーターの処理

WinINet 関数