英語で読む

次の方法で共有


WinHttpGetProxyForUrl 関数 (winhttp.h)

WinHttpGetProxyForUrl 関数は、指定された URL のプロキシ データを取得します。

構文

WINHTTPAPI BOOL WinHttpGetProxyForUrl(
  [in]  HINTERNET                 hSession,
  [in]  LPCWSTR                   lpcwszUrl,
  [in]  WINHTTP_AUTOPROXY_OPTIONS *pAutoProxyOptions,
  [out] WINHTTP_PROXY_INFO        *pProxyInfo
);

パラメーター

[in] hSession

WinHttpOpen 関数によって返される WinHTTP セッション ハンドル。

[in] lpcwszUrl

アプリケーションが送信の準備をしている HTTP 要求の URL を含む、null で終わる Unicode 文字列へのポインター。

[in] pAutoProxyOptions

使用する自動プロキシ オプションを指定する WINHTTP_AUTOPROXY_OPTIONS 構造体へのポインター。

[out] pProxyInfo

プロキシ設定を受け取る WINHTTP_PROXY_INFO 構造体へのポインター。 この構造体は、WINHTTP_OPTION_PROXY オプションを使用して要求ハンドルに適用されます。 GlobalFree 関数を使用して、この構造体に含まれる lpszProxy 文字列と lpszProxyBypass 文字列 (NULL 以外の場合) を解放します。

戻り値

関数が成功した場合、関数は TRUE を返します。

関数が失敗した場合は、 FALSE を返します。 拡張エラー データの場合は、 GetLastError を呼び出します。

考えられるエラー コードには、出力が含まれます。

エラー コード 説明
ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR
指定した URL のプロキシが見つからない場合に 、WinHttpGetProxyForUrl によって返されます。
ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT
プロキシ自動構成 (PAC) ファイルでスクリプト コードを実行中にエラーが発生しました。
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
指定されたハンドルの種類が、この操作に対して正しくありません。
ERROR_WINHTTP_INTERNAL_ERROR
内部エラーが発生しました。
ERROR_WINHTTP_INVALID_URL
URL が無効です。
ERROR_WINHTTP_LOGIN_FAILURE
ログイン試行に失敗しました。 このエラーが発生したら、 WinHttpCloseHandle を使用して要求ハンドルを閉じます。 最初にこのエラーを生成した関数を再試行する前に、新しい要求ハンドルを作成する必要があります。
ERROR_WINHTTP_OPERATION_CANCELLED
通常、操作が完了する前に要求が操作されていたハンドルが閉じられたため、操作が取り消されました。
ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT
PAC ファイルをダウンロードできませんでした。 たとえば、PAC URL によって参照されているサーバーに到達できなかったか、サーバーから 404 NOT FOUND 応答が返された可能性があります。
ERROR_WINHTTP_UNRECOGNIZED_SCHEME
PAC ファイルの URL で、"http:" または "https:" 以外のスキームが指定されています。
ERROR_NOT_ENOUGH_MEMORY
要求された操作を完了するのに十分なメモリが使用できませんでした。 (Windows エラー コード)

注釈

この関数は、HTTP 要求のプロキシ設定を自動的に構成するための Web プロキシ自動検出 (WPAD) プロトコルを実装します。 WPAD プロトコルは、プロキシ自動構成 (PAC) ファイルをダウンロードします。これは、特定のターゲット URL に使用するプロキシ サーバーを識別するスクリプトです。 PAC ファイルは、通常、企業ネットワーク環境内の IT 部門によって展開されます。 PAC ファイルの URL は、明示的に指定することも、 WinHttpGetProxyForUrl を指定して、ローカル ネットワーク上の PAC ファイルの場所を自動的に検出するように指示することもできます。

WinHttpGetProxyForUrl では 、ECMAScript ベースの PAC ファイルのみがサポートされます。

PAC ファイルは URL ごとに異なるプロキシ サーバーを返す可能性があるため、WinHttpGetProxyForUrl は URL ごとに呼び出す必要があります。 これは、PAC ファイルを使用すると、IT 部門がプロキシ サーバー配列内の特定のプロキシにターゲット URL ( lpcwszUrl パラメーターで指定) をマッピング (ハッシュ) することでプロキシ サーバーの負荷分散を実装できるため便利です。

pAutoProxyOptions 構造体の dwFlags メンバーで自動検出が指定されている場合、WinHttpGetProxyForUrlautoproxy URL と autoproxy スクリプトをキャッシュします。 詳細については、「 Autoproxy Cache」を参照してください。

要件

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

こちらもご覧ください

WinHTTP バージョン