IE11 PACファイルの変更
IE11がローカルPACファイルを処理する方法に対して、Microsoftによって変更が行われました。ここでそれらについて読むか、いくつかの簡単な情報については以下を参照してください。
また、Windows 8以降、このalert()
ステートメントは機能しなくなります。
IE11では、次のレジストリキーを追加しない限り、ファイルプロトコルを介したPACファイルの使用は不可能です。
[HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings]
(DWORD)"EnableLegacyAutoProxyFeatures"=1
注: Windows 8以降を使用している場合、アラートステートメントは表示されなくなります!
AUTOPROXを使用したPACファイルのデバッグ (ダウンロードリンク)
問題のWebサイトへのアクセス権はありませんが、予想されるルートが返された場合、PACファイルをテストする必要がある場合があります。このようなテストには、Pierre-Louis Collによって作成された(添付の)コマンドラインユーティリティツールautoprox.exeを使用できます。
CMD
追加パラメーターなしで起動すると、使用法が表示されます。
C:\temp>autoprox
Version : 2.1.0.0
Written by pierrelc@microsoft.com
Usage : AUTOPROX -s (calling DetectAutoProxyUrl and saving wpad.dat file in temporary file)
Usage : AUTOPROX [-h] url [Path to autoproxy file]
-h: calls InternetInitializeAutoProxyDll with helper functions implemented in AUTOPROX
AUTOPROX url: calling DetectAutoProxyUrl and using WPAD.DAT logic to find the proxy for the url
AUTOPROX url path: using the autoproxy file from the path to find proxy for the url
Example: autoprox -s
Example: autoprox http://www.microsoft.com
Example: autoprox -h http://www.microsoft.com c:\inetpub\wwwroot\wpad.dat
Example: autoprox http://www.microsoft.com http://proxy/wpad.dat
サンプルの出力は次のとおりです。
C:\temp>autoprox http://us.msn.com c:\temp\sample.pac
The Winsock 2.2 dll was found okay
url: http://us.msn.com
autoproxy file path is : c:\temp\sample.pac
Calling InternetInitializeAutoProxyDll with c:\temp\sample.pac
Calling InternetGetProxyInfo with url http://us.msn.com and host us.msn.com
Proxy returned for url http://us.msn.com is:
PROXY myproxy:80;
どのDNS関連機能が呼び出されたかを確認したい場合は、パラメーター「-h」を追加で使用できます。ここでは、これを使用した場合の出力を示します。
C:\temp>autoprox -h http://us.msn.com c:\temp\sample.pac
The Winsock 2.2 dll was found okay
Will call InternetInitializeAutoProxyDll with helper functions
url: http://us.msn.com
autoproxy file path is : c:\temp\sample.pac
Calling InternetInitializeAutoProxyDll with c:\temp\sample.pac
Calling InternetGetProxyInfo with url http://us.msn.com and host us.msn.com
ResolveHostByName called with lpszHostName: us.msn.com
ResolveHostByName returning lpszIPAddress: 65.55.206.229
Proxy returned for url http://us.msn.com is:
PROXY myproxy:80;
autoprox.exeでのエラー処理:
存在しないPACファイル(たとえば、コマンドラインでのタイプミス)を指定すると、autoprox.exeの結果は次のようになります。
ERROR: InternetInitializeAutoProxyDll failed with error number 0x6 6.
Pacファイルに構文エラーが含まれている場合、通常、次のメッセージが表示されます。
ERROR: InternetGetProxyInfo failed with error number 0x3eb 1003.
ローカルテストが終了したら、PACファイルをWebサーバーにコピーして、http-protocolを介してアクセスします。