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