【发布时间】:2013-01-10 06:08:19
【问题描述】:
我写了一小段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(尝试使用不同版本)时,浏览器会出现异常行为。有时会使用正确的代理服务器,但有时浏览器会显示代理服务器拒绝连接的消息(基本上它无法访问代理服务器)。而且这种行为是随机的,它不是基于浏览器的空闲时间或请求/点击的数量。
我所做的另一项分析是,每当发生这种情况时,如果我打开 Internet Explorer 的选项对话框并单击 LAN 设置(可以更改代理),我会注意到代理设置已正确设置。如果我只是单击取消并退出对话框,浏览器将开始使用正确的设置。
关于 Internet Explorer 的功能以及我们如何在脚本中实现自动化的任何提示????
感谢和问候
【问题讨论】:
-
如何用新的代理设置刷新页面而不关闭 IE 并再次运行以获取新的代理设置。
-
您好 Zaka,脚本运行时(在 Windows 登录时)没有运行浏览器。浏览器启动时间要晚得多。虽然这不能被标记为答案,但全新安装的 firefox 和 chrome 解决了这个问题。