Windows 8.1(IE11およびModern UI)でPAC(プロキシ自動設定)をデバッグするにはどうすればよいですか?


12

Windows 7 + IE10などの古いシステムでは、PACファイルで「alert()」を呼び出すとダイアログが表示されます。ただし、Windows 8.1では、IE11がPACを使用しているように見える場合でもダイアログは表示されません。

私の現在の状況では、IE11は(SOCKS)プロキシ(PACによって返される)を問題なく使用できますが、最新のUIアプリはインターネットから完全に切断されています。IE11とModern UIはPAC設定を異なる方法で処理するようですが、デバッグする方法を見つけることができません。

要約すると、私の質問は

  1. Windows 8.1 でIE11を使用してPACをデバッグするにはどうすればよいですか?
  2. Windows 8.1 でModern UIを使用してPACをデバッグするにはどうすればよいですか?

1
私は同じ問題に遭遇しました-Firefox、Chrome、IEのいずれもアラートコールを拾っていないようです。「テスト」のためにutmtools.com/PacMagicおよびcode.google.com/p/pacparserを使用しました。
オビアバ

PacMagicの場合は+1。ジェネレーターはいくつかの調整を使用できますが、テスト機能はうまく機能します。そして、それはたった1つのスタンドアロンのexeファイルです。
ニール

回答:


3

IE11 PACファイルの変更

IE11がローカルPACファイルを処理する方法に対して、Microsoftによって変更が行われました。ここでそれらについて読むか、いくつかの簡単な情報については以下を参照してください。

また、Windows 8以降、このalert()ステートメントは機能しなくなります。


IE11では、次のレジストリキーを追加しない限り、ファイルプロトコルを介したPACファイルの使用は不可能です。

[HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings]
(DWORD)"EnableLegacyAutoProxyFeatures"=1

PACファイルからファイルプロトコルの例

注: 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でのエラー処理:

  1. 存在しないPACファイル(たとえば、コマンドラインでのタイプミス)を指定すると、autoprox.exeの結果は次のようになります。

    ERROR: InternetInitializeAutoProxyDll failed with error number 0x6 6.

  2. Pacファイルに構文エラーが含まれている場合、通常、次のメッセージが表示されます。

    ERROR: InternetGetProxyInfo failed with error number 0x3eb 1003.

ローカルテストが終了したら、PACファイルをWebサーバーにコピーして、http-protocolを介してアクセスします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.