次の方法で共有


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 を指定する -terminated 文字列変数null へのポインター。 ftp:、http:、または https: で始まる URL のみがサポートされています。

[in] lpszHeaders

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

[in] dwHeadersLength

追加ヘッダーのサイズ (TCHAR)。 このパラメーターが -1L で、lpszHeaders が NULLでない場合、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 は、ポート 70 (標準の Gopher ポート) とポート 105 (通常は中央サービス組織 (CSO) 名の検索に使用される) を除き、1024 未満のポートで Gopher を無効にします。

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

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

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

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

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wininet.h
ライブラリ Wininet.lib
DLL Wininet.dll

関連項目

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

WinINet Functions の