2

プロキシ設定を設定するための小さなvbスクリプトを作成しました


'begin script
Option Explicit
Dim valUserIn
Dim objShell, RegLocate
Set objShell = WScript.CreateObject("WScript.Shell")
RegLocate = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable"
objShell.RegWrite RegLocate,"0","REG_DWORD"
WScript.Sleep(5000)
valUserIn = Inputbox("Enter the Proxy server you want to use.","Proxy Server Required","proxygate.mydomain.com:8080")
if valUserIn = "" then
    RegLocate = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable"
    objShell.RegWrite RegLocate,"0","REG_DWORD"
    'MsgBox "No proxy mode"
else
    RegLocate = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer"
    objShell.RegWrite RegLocate,valUserIn,"REG_SZ"
    RegLocate = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable"
    objShell.RegWrite RegLocate,"1","REG_DWORD"
    'MsgBox "Proxy mode: " & valUserIn
end if
WScript.Quit
'end script

これで、スクリプトが正しく実行され、レジストリ値を設定できるようになりました。Internet Explorer を使用している場合、問題はありません。つまり、ブラウザは正しいプロキシ設定 (入力ダイアログで入力されたもの、またはキャンセルされた場合は「プロキシなし」) サーバーを使用します。

ただし、Firefox または Chrome を使用すると (別のバージョンで試した場合)、ブラウザーの動作がおかしくなりました。正しいプロキシ サーバーが使用されている場合もありますが、プロキシ サーバーが接続を拒否しているというメッセージがブラウザーに表示されることがあります (基本的に、プロキシ サーバーに到達できませんでした)。さらに、この動作はランダムであり、ブラウザのアイドル時間やリクエスト/クリック数に基づくものではありません。

私が行ったもう1つの分析は、Internet Explorerのオプションダイアログを開いてLAN設定(プロキシを変更できる場所)をクリックすると、これが発生するたびに、プロキシ設定が適切に設定されていることに気付きます. [キャンセル] をクリックしてダイアログを終了すると、ブラウザは正しい設定を使用して開始します。

Internet Explorer の機能と、スクリプトでそれを自動化する方法に関するヒントはありますか????

感謝と敬意

4

1 に答える 1

1

異なるブラウザは、異なる場所にプロキシ情報を保存します。

  1. IE はそれをレジストリに保存します。
  2. Firefox はそれを %appdata%\mozilla\firefox\profiles\ に保存します (一部のファイル)
  3. クロムもIE、AFAIKと同じ場所を使用しています。

ただし、他のブラウザーには、システム レベルのプロキシ (IE で設定) を使用するように要求できるオプションがある場合があります。FFのLinux版にはこれがあります。
この場合でも、ブラウザを再起動して、プロキシ サーバーの値を再度読み取る必要があります。通常、起動時に読み込まれ、ダイアログ ボックスを使用して手動でのみ更新されます。ブラウザー プログラマーは通常、ユーザーがスクリプトを使用してプロキシを変更することを期待していません。(しかし、私たちはそれを行います:-))

于 2013-01-10T16:07:40.420 に答える